我想创建一个JSON字符串作为这样的对象数组:
[
{
"alertid": "1",
"alerttext": "This is test",
"alertdate": "2010-02-11 09:03:40"
},
{
"alertid": "2",
"alerttext": "Another alert",
"alertdate": "2010-02-11 09:11:04"
}
]
JAVA JSON对象put方法如下所示:jsonObject.put(String key,Collection value);
当我输入我的密钥和集合时,我的json看起来像这样:
{
"JSONObject": [
{
"alertid": "1",
"alerttext": "This is test",
"alertdate": "2010-02-11 09:03:40"
},
{
"alertid": "2",
"alerttext": "Another alert",
"alertdate": "2010-02-11 09:11:04"
}
]
}
当我被限制为put方法的签名时,如何让我的json字符串看起来像第一个字符串?
答案 0 :(得分:2)
如果您正在使用net.sf.json库,请自己创建一个JSONArray并将JSONObjects放入其中。
JSONArray array = new JSONArray();
JSONObject obj = new JSONObject();
obj.put("alertid","1");
array.add(obj);
答案 1 :(得分:2)
您需要的是JSONArray
,然后您可以填写JSONObject
尝试这样的事情:
JSONArray arr = new JSONArray();
for (JSONObject item : collection)
{
arr.put(item);
}
或者,如果你已经拥有JSONObject
的集合,你可以简单地写:
JSONArray arr = new JSONArray(yourFancyCollection);
然后,arr.toString()
看起来就像你问的那样。