1

こんなJsonを作りたい

     [{"sID":"221","mID":"0"},
     {"sID":"222","mID":"11"},
     {"sID":"223","mID":"11"}]

以下のコードを試してみましたが、Jsonを1行だけ作成します

    JSONObject json = new JSONObject();
    JSONObject manJson = new JSONObject();
    manJson.put("sID", "23");
    manJson.put("mID", "111");
    json.put("",manJson);

この上記のコードは、このようなJsonを作成します

  {"":{"sID":"23","mID":"111"}}

その Java コードに必要な変更について教えてください。ありがとうございます。

4

3 に答える 3

1

コードを次のように変更します。

JSONArray jsonArray = new JSONArray();

//Add 1st JSONObject to JSONArray
JSONObject jsonObjone = new JSONObject();    
jsonObjone.put("sID", "221");
jsonObjone.put("mID","0");
jsonArray.put(jsonObjone.toString();

//Add 2nd JSONObject to JSONArray
JSONObject jsonObjtwo = new JSONObject();    
jsonObjtwo.put("sID", "222");
jsonObjtwo.put("mID","11");
jsonArray.put(jsonObjtwo.toString());

//Add 3rd JSONObject to JSONArray
JSONObject jsonObjthrd = new JSONObject();    
jsonObjthrd.put("sID", "223");
jsonObjthrd.put("mID","11");
jsonArray.put(jsonObjthrd.toString());
于 2012-11-21T17:10:24.877 に答える
0

非常に簡単なジャクソンライブラリをお勧めします。それを使用するには、次のようなオブジェクトがあります...

class Ids {

     private int Sid;
     private int Mid;

     public setSid(int Sid) {
         this.Sid = Sid;
     }

     public setMid(int Mid) {
         this.Mid = Mid;
     }

     public getSid() {
         return Sid;
     }

     public getMid() {
         return Mid;
     }
}

次に、ライブラリのobjectMapperを使用して、メモリ内にある配列から次のようなjson文字列に移動できます。

      Ids[] idsArray = new Ids[2];
      //add ids object to array
      String jsonString = objectMapper.writeValueAsString(idsArray);

もちろん、この方法で行うかどうかはIDの保存方法によって異なりますが、私にとっては、一般的にコードが非常にクリーンになり、Jacksonライブラリのパフォーマンスはかなり優れています。

于 2012-11-21T17:32:14.410 に答える
0

toJSONArray()でメソッドを使用しmanjsonます。

于 2012-11-21T17:09:19.727 に答える