How do you set an integer value with JSONObject in Java?

25,648

Solution 1

You can store the integer as an int in the object using put, it is more so when you actually pull and decode the data that you would need to do some conversion.

So we create our JSONObject

JSONObject jsonObj = new JSONObject();

Then we can add our int!

jsonObj.put("age",10);

Now to get it back as an integer we simply need to cast it as an int on decode.

int age = (int) jsonObj.get("age");

It isn't so much how the JSONObject is storing it but more so how you retrieve it.

Solution 2

If you're using org.json library, you just have to do this:

JSONObject myJsonObject = new JSONObject();
myJsonObject.put("myKey", 1);
myJsonObject.put("myOtherKey", new Integer(2));
myJsonObject.put("myAutoCastKey", new Integer(3));

int myValue = myJsonObject.getInt("myKey");
Integer myOtherValue = myJsonObject.get("myOtherKey");
int myAutoCastValue = myJsonObject.get("myAutoCastKey");

Remember that you have others "get" methods, like:

myJsonObject.getDouble("key");
myJsonObject.getLong("key");
myJsonObject.getBigDecimal("key");
Share:
25,648
Admin
Author by

Admin

Updated on July 18, 2022

Comments

  • Admin
    Admin almost 2 years

    How do you set the value for a key to an integer using JSONObject in Java? I can set String values using JSONObject.put(a,b); However, I am not able to figure out how to use .put() to set integer values. For example: I want my jsonobject to look like this: {"age": 35} instead of {"age": "35"}.