1
我有一个Java类,有两个atrributes,我使用这种方法转换为json。我跟着这个其他答案: Return JSONArray instead of JSONObject, Jersey JAX-RSjavax.json产生难以理解的json
public String toString(){
// takes advantage of toString() implementation to format {"a":"b"}
JsonObject json = Json.createObjectBuilder()
.add("sentence", sentence)
.add("category", category).build();
return json.toString();
}
我得到的字符串被封装成字符串的ArrayList,并通过HTTP(我用的球衣)发送:
return Response.status(200).entity(response).build();
如何过,节点客户端使用无法正确解析它:它获取数组部分,完美地访问元素。但不是JSON键和值; 返回undefined:
jsonRespuesta = JSON.parse(body)[0];
console.log(jsonRespuesta);
console.log("Frase: " +jsonRespuesta.sentence + " ,Categoria: " + jsonRespuesta.category);
返回:
{"sentence":"hola","category":"2"}
Frase: undefined ,Categoria: undefined
什么是失败?如果有帮助,使用wireshark捕获数据包会将阵列成员显示为字符串
关键是:制作和ArrayList并将toString附加到整个数组。实际上,json被编码了两次。 –
ledermauss