Json转换

时间:2012-11-21 17:03:59

标签: java android json

我想像这样创建一个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代码所需的更改,谢谢。

3 个答案:

答案 0 :(得分: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());

答案 1 :(得分:0)

toJSONArray()上使用manjson方法。

答案 2 :(得分:0)

我推荐jackson library它让事情变得非常简单。要使用它,你会得到一个像这样的对象......

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 String

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

当然这样做取决于你的id是如何存储的,但对我而言,它通常使我的代码更清晰,杰克逊图书馆的表现非常好。