【发布时间】:2019-02-20 15:22:37
【问题描述】:
我有一个 JSON 字符串(由 Jackson 制作,用于转换对象):
String my_JSON_String = {"id":-1,"id_contratto":1,"datetime_inizio":"2018-09-15 17:44:02","datetime_fine":null,"numero_chiamate_individuali":-1,"minuti_totali_chiamate_individuali":1421,"numero_chiamate_gruppo":3027,"minuti_totali_chiamate_gruppo":-1,"numero_messaggi_individuali_testo":-1,"numero_messaggi_individuali_multimediali":-1,"numero_messaggi_gruppo_testo":-1,"numero_messaggi_gruppo_multimediali":-1,"numero_eventi_inviati":-1,"numero_interventi_creati":-1,"enabled":false}
我必须将此字符串放在 JWT 声明的名为“DATI”的自定义字段中。我用:
JwtBuilder MY_JwtBuilder = Jwts.builder()
.setIssuedAt( new Date() )
.setIssuer("Fausto")
.setSubject("Ciao")
.claim("DATI", my_JSON_String )
.signWith(SignatureAlgorithm.HS256, "DonalDuck");
String JWT= MY_JwtBuilder.compact();
如果我测试 JWT 并将其放入 https://jwt.io/,我会得到以下字符串:
{
"iat": 1537026243,
"iss": "Fausto",
"sub": "Ciao",
"DATI": "{\"id\":-1,\"id_contratto\":1,\"datetime_inizio\":\"2018-09-15 17:44:02\",\"datetime_fine\":null,\"numero_chiamate_individuali\":-1,\"minuti_totali_chiamate_individuali\":1421,\"numero_chiamate_gruppo\":3027,\"minuti_totali_chiamate_gruppo\":-1,\"numero_messaggi_individuali_testo\":-1,\"numero_messaggi_individuali_multimediali\":-1,\"numero_messaggi_gruppo_testo\":-1,\"numero_messaggi_gruppo_multimediali\":-1,\"numero_eventi_inviati\":-1,\"numero_interventi_creati\":-1,\"enabled\":false}",
"exp": 1537029843
}
为字段 DATI 中的每个引号添加了一个 \。这是网站方面的问题。 如何避免添加 \ ?
谢谢,福斯托
【问题讨论】:
-
@benjamin c 你能帮忙吗?
-
我认为第一行不可能是你的真实代码,那不是字符串。我猜你是用
JSONObject.getString()或类似的东西生成的,或者你省略了封闭的"",对吧?!