问题
Let i've an JSON
Object like as shown below
{"Name":"Manu","Age":"25","Address":""}
Updation
Read the json object and need to update the address field like as given below
{"Name":"Manu","Age":"25","Address":"XXXX"}
can anyone please tell me how to update the Address details in the JSON
using java
My code
JSONObject rec = new JSONObject(data);
String name = rec.getString("Name");
String age = rec.getString("Age");
String add = rec.getString("Address");
now how to add some information to the address field
Update 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
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
回答1:
If you are using the JsonObject class it is immutable
So i believe you have to duplicate the object and change the value like this:
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
回答2:
Parse the JSON and call the particular Key needs to be updated and set the value for the key. Please be more specific.
Create a new JSON Object
private JSONObject Data = new JSONObject;
public Test(){
try {
Data.put("address", username);
}
catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
来源:https://stackoverflow.com/questions/19786126/updating-json-object-using-java