Android如何在JSONObject中获取int类型

时间:2011-08-30 13:08:17

标签: java android json integer

我在将int放入JSON时遇到问题。我有一个整数,我需要保存服务器返回给我的错误代码。问题是我必须在JSONObject中解析它,但JSONObject只接受字符串,而不是整数。这是我正在尝试做的一个例子:

int errorCode;
JSONObject ErrorCode;
ErrorCode = new JSONObject(errorCode);

有关如何解决该问题的任何建议吗?

4 个答案:

答案 0 :(得分:9)

你可以这样做;当您尝试创建json对象时,请使用:

//method 1
String myJson = " {errorCode:"+errorCode+"}";
ErrorCode = new JSONObject(myJson);

//method 2
ErrorCode = new JSONObject();
ErrorCode.put("errorCode", errorCode);// jsonObject.put(String key,Object value);

然后当您尝试解析它时,您可以使用:

json.getInt(String key); // in this case, the key is : errorCode

答案 1 :(得分:7)

JSONObject是与json文本响应等效的代码。这不是该响应的一个关键。您最可能想要做的是读取服务器响应中包含的单个密钥。为此,请使用JSONObject.getInt("key")

样品:

int errorCode;
JSONObject json = new JSONObject(serverResponseString);
errorCode = json.getInt("error_key");

如果您想撰写JSONObject而不是解析一个,请使用JSONObject.put()

int errorCode = 42;
JSONObject json = new JSONObject();
json.put("error_key", errorCode);
String jsonString = json.toString();

答案 2 :(得分:3)

创建新的JSONObject,然后在JSONObject来电put("fieldName", intValue)。请参阅docs

答案 3 :(得分:1)

JSONObject有一个公共JSONObject(java.lang.Object bean)构造函数。尝试使用代码字段创建ErrorCode对象并将其传递给JSONObject构造函数。