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