3

こんにちは、ハッシュとリストで構成されるネストされたオブジェクトがあります。gson を使用しようとしていますが、ハッシュマップの値が単純な文字列ではなくハッシュマップである場合、うまく機能しないようです。

Map questionDetails = new HashMap<>();
questionDetails.put("label", descriptionNode.getText());
questionDetails.put("validations", new HashMap<>().put("compulsary", 1));
System.out.println(new Gson().toJson(questionDetails));

印刷する場合

{"label":"I am working on something"}

その間

Map questionDetails = new HashMap<>();
questionDetails.put("label", descriptionNode.getText());
questionDetails.put("validations", "something");
System.out.println(new Gson().toJson(questionDetails));

うまくいくようです。

4

2 に答える 2

4

それが機能しない理由は、hasmap 自体の代わりに new HashMap<>().put("compulsary", 1) の結果を配置したためです。

questionDetails.put("validations", new HashMap<>().put("compulsary", 1));

行う:

Map questionDetails = new HashMap<>();
questionDetails.put("label", descriptionNode.getText());
Map validations = new HashMap<>();
validations.put("compulsary", 1)
questionDetails.put("validations", validations);
System.out.println(new Gson().toJson(questionDetails));

{"validations":{"compulsary":1},"label":"私は何かに取り組んでいます"}

于 2013-07-30T08:09:31.197 に答える
0

使用する

 new JSONObject(map);

ドキュメントhttp://www.json.org/javadoc/org/json/JSONObject.htmlから取得できるその他の機能

于 2013-07-30T08:00:17.673 に答える