是否可以像这样创建和解析 json
{
"time1": { "UserId": "Action"},
"time2": { "UserId": "Action"},
"time3": { "UserId": "Action"}
}
使用json-simple.jar
我想继续用元素更新 json"time": { "UserId": "Action"}
有什么帮助吗?请
是否可以像这样创建和解析 json
{
"time1": { "UserId": "Action"},
"time2": { "UserId": "Action"},
"time3": { "UserId": "Action"}
}
使用json-simple.jar
我想继续用元素更新 json"time": { "UserId": "Action"}
有什么帮助吗?请
是的,可以使用它来创建:
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
我希望这可以帮助你
您的 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"}]