0

ジェネリック型で、その内部に別のマップを含むマップを JSON オブジェクトに変換して UI に送信しようとしていますが、親マップのみを取得しています。その中にあるマップは文字列として取得されます。

例、

      JSONObject obj = new JSONObject();
      Map parent = new HashMap();
      parent.put("key1", "value1");
      Map child = new HashMap();
      child.put("childKey", "childValue");
      parent.put("map1", child);
      obj.put("result", parent);
      return obj.toString();

構文エラーは無視してください。上記のコードは、親マップを適切に提供します。

親 [キー 1] - 値 1

親 [map1] - 子

しかし、子が子のように文字列として来るのを見ると、{childkey = childvalue}

配列として、または子マップの親マップのようにするにはどうすればよいですか?

4

2 に答える 2

0

JSONでは、トップレベルオブジェクトには名前が付けられていません(別のオブジェクトのプロパティではないため)。したがって、(最上位オブジェクトのプロパティとして)名前が付けられた親を表示するには、別の上位レベルのオブジェクト(または配列)を追加する必要があります。しかし、あなたが作成するJSONはすでに有効であり、JavaScriptコンシューマーとして私が期待するものです。

于 2012-07-12T19:16:41.477 に答える
0

ここでちょっと考えてみましたが、Jackson JSON ライブラリを利用することをお勧めします。それらのオブジェクト マッパーと注釈により、JSON の処理方法が大幅に簡素化され、POJO から切り離されます。

于 2012-07-12T19:12:37.053 に答える