0

让我有一个JSON如下所示的对象

{"Name":"Manu","Age":"25","Address":""}

更新

读取 json 对象并需要更新地址字段,如下所示

 {"Name":"Manu","Age":"25","Address":"XXXX"}

谁能告诉我如何在JSON使用中更新地址详细信息java

我的代码

JSONObject rec = new JSONObject(data);
String name = rec.getString("Name");
String age  = rec.getString("Age"); 
String add  = rec.getString("Address"); 

现在如何向地址字段添加一些信息

更新 1

String jsonstring="{Name:Manu,Age:25,Address:''}";
JSONObject object=new JSONObject(jsonstring);
JSONObject childobject=object.getJSONObject("Address");

JSONObject modifiedjson=new JSONObject();
modifiedjson.put("type",childobject.get("type"));
modifiedjson.put("value","newvalue"); 

例外

Exception in thread "main" org.json.JSONException: JSONObject["Address"] is not a JSONObject.
    at org.json.JSONObject.getJSONObject(JSONObject.java:557)
    at kotouch.Sample.main(Sample.java:59)
Java Result: 1
4

2 回答 2

1

解析 JSON 并调用需要更新的特定键并设置键的值。请更具体。

创建一个新的 JSON 对象

private JSONObject Data = new JSONObject;

public Test(){

try {

Data.put("address", username);
    }

catch (JSONException e) {

  // TODO Auto-generated catch block

  e.printStackTrace();
    }
}
于 2013-11-05T10:08:57.837 回答
1

如果您使用的是JsonObject 类,它是不可变的

所以我相信你必须复制对象并像这样更改值:

JSONObject object=new JSONObject(jsonstring);
JSONObject childobject=object.getJSONObject("XXXX");

JSONObject modifiedjson=new JSONObject();
modifiedjson.put("type",childobject.get("type"));
modifiedjson.put("value","newvalue");  // Add new value of XXXX here
于 2013-11-05T10:09:29.363 回答