我想创建一个这样的 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 代码中所需的更改,谢谢。
将代码更改为:
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());
在manjson
上使用toJSONArray()
方法。
我推荐杰克逊图书馆,它使事情变得非常容易。要使用它,您将拥有这样的对象...
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的存储方式,但对我来说,它通常会让我的代码更干净,杰克逊图书馆的性能也相当不错。