Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to modify values of JsonObject / JsonArray directly?

Tags:

java

json

gson

Once i have parsed a JSON String into a GSON provided JsonObject class, (assume that i do not wish to parse it into any meaningful data objects, but strictly want to use JsonObject), how am i able to modify a field / value of a key directly?

I don't see an API that may help me.

https://static.javadoc.io/com.google.code.gson/gson/2.6.2/com/google/gson/JsonObject.html

like image 479
Oh Chin Boon Avatar asked Jul 12 '12 01:07

Oh Chin Boon


People also ask

How do I change the value of a JSON object?

Array value of a JSON object can be modified. It can be simply done by modifying the value present at a given index. Note: If value is modified at an index which is out of the array size, then the new modification will not replace anything in the original information but rather will be an add-on.

What is the difference between JSON object and JSONArray?

JSONObject and JSONArray are the two common classes usually available in most of the JSON processing libraries. A JSONObject stores unordered key-value pairs, much like a Java Map implementation. A JSONArray, on the other hand, is an ordered sequence of values much like a List or a Vector in Java.

Can we convert JSONArray to JSON object?

We can also add a JSONArray to JSONObject. We need to add a few items to an ArrayList first and pass this list to the put() method of JSONArray class and finally add this array to JSONObject using the put() method.


1 Answers

Strangely, the answer is to keep adding back the property. I was half expecting a setter method. :S

System.out.println("Before: " + obj.get("DebugLogId")); // original "02352"  obj.addProperty("DebugLogId", "YYY");  System.out.println("After: " + obj.get("DebugLogId")); // now "YYY" 
like image 163
Oh Chin Boon Avatar answered Oct 16 '22 10:10

Oh Chin Boon