是否可以像这样创建和解析json
{
"time1": { "UserId": "Action"},
"time2": { "UserId": "Action"},
"time3": { "UserId": "Action"}
}
json-simple.jar
我想继续使用元素"time": { "UserId": "Action"}
有任何帮助吗?请
答案 0 :(得分:3)
是的,可以使用它来创建:
JSONObject obj=new JSONObject();
JSONObject timeObj = new JSONObject();
timeObj.put("UserId", "Action");
obj.put("time", timeObj);
并解析
Object obj=JSONValue.parse(value);
JSONObject object=(JSONObject)obj;
JSONObject timeObj = obj.get("time");
String action = timeObj.get("UserId");
但我不建议您使用这样的格式创建JSON,JSONObject属性键必须是唯一的,我建议您使用JSONArray而不是JSONObject
我希望这可以帮到你
答案 1 :(得分:1)
您的JSON不正确。您不能拥有重复的time
个密钥。将其转换为JSON数组。
{
"time": [
{ "UserId": "Action"},
{ "UserId": "Action"},
{ "UserId": "Action"}
]
}
以下是解析此JSON字符串的方法
String json =
"{\n" +
" \"time\": [\n" +
" { \"UserId\": \"Action\"},\n" +
" { \"UserId\": \"Action\"}\n" +
" ]\n" +
"}";
JSONObject jsonRoot = new JSONObject(json);
JSONArray timeArray = jsonRoot.getJSONArray("time");
System.out.println(timeArray);
// prints: [{"UserId":"Action"},{"UserId":"Action"}]
以下是如何向此JSON数组添加新对象
timeArray.put(new JSONObject().put("Admin", "CreateUser"));
System.out.println(timeArray);
// prints: [{"UserId":"Action"},{"UserId":"Action"},{"Admin":"CreateUser"}]