私はこのメソッドを使用してjsonに変換する2つの属性を持つJavaクラスを持っています。私はこの他の答えを追っ: 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のキーと値ではありません。 リターンは未定義:
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は実際に2回エンコードされました。 –
ledermauss