如何在Java中使用JSONObject设置整数值?

如何在Java中使用JSONObject设置整数值?,java,json,integer,put,jsonobject,Java,Json,Integer,Put,Jsonobject,如何在Java中使用JSONObject将键的值设置为整数? 我可以使用JSONObject.put(a,b)设置字符串值 但是,我不知道如何使用.put()设置整数值。例如: 我希望我的jsonobject如下所示: {“年龄”:35} 而不是 {“age”:“35”}您可以使用put将整数作为int存储在对象中,当您实际提取和解码数据时,更是如此,您需要进行一些转换 所以我们创建了JSONObject JSONObject jsonObj = new JSONObject(); 然后我们可

如何在Java中使用JSONObject将键的值设置为整数? 我可以使用
JSONObject.put(a,b)设置字符串值
但是,我不知道如何使用
.put()
设置整数值。例如: 我希望我的jsonobject如下所示:
{“年龄”:35}
而不是
{“age”:“35”}

您可以使用put将整数作为int存储在对象中,当您实际提取和解码数据时,更是如此,您需要进行一些转换

所以我们创建了JSONObject

JSONObject jsonObj = new JSONObject();
然后我们可以添加我们的int

jsonObj.put("age",10);
现在要把它作为一个整数取回来,我们只需要在解码时把它转换成一个int

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

重要的不是JSONObject如何存储它,而是如何检索它。

如果您使用的是org.json库,您只需执行以下操作:

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");
请记住,您还有其他“获取”方法,例如:

myJsonObject.getDouble("key");
myJsonObject.getLong("key");
myJsonObject.getBigDecimal("key");

您使用的是哪个JSON库?org.JSON.jsonObject已清理格式,以便将所有代码对象格式化为代码。对Java使用正确的拼写(它以大写字母开头)。我明白你的意思,但是当我尝试这样做时,我得到一个Java错误,它说:“类型映射中的方法put(String,String)不适用于参数(String,int)”你能通过编辑答案并添加代码来显示实际代码吗?因为看起来您正试图将其添加到一个已声明为string和string类型的映射中,哦,等等,我现在看到问题了。谢谢你的帮助@Arun不用担心:)避免使用cast,因为org.json库已经有了一个
getInt(“key”)
方法。