我有一个带有两个属性的Java类,我使用此方法将其转换为json。我遵循了另一个答案:Return JSONArray instead of JSONObject, Jersey JAX-RS
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发送(我使用的是Jersey):
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捕获数据包时会将数组成员显示为字符串
https://stackoverflow.com/questions/38228233
复制相似问题