1

我想创建一个这样的 Json

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

我试过下面的代码,但只为一行创建 Json

    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

在 上使用toJSONArray()方法manjson

于 2012-11-21T17:09:19.727 回答
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 的存储方式,但对我来说,它通常会使我的代码更干净,而且杰克逊库的性能非常好。

于 2012-11-21T17:32:14.410 回答