Android如何在JSONObject中获取int类型

And*_*oid 2 java android json integer

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

int errorCode;
JSONObject ErrorCode;
ErrorCode = new JSONObject(errorCode);
Run Code Online (Sandbox Code Playgroud)

有什么建议如何解决这个问题?

Hou*_*ine 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);
Run Code Online (Sandbox Code Playgroud)

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

json.getInt(String key); // in this case, the key is : errorCode
Run Code Online (Sandbox Code Playgroud)


小智 7

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

样品:

int errorCode;
JSONObject json = new JSONObject(serverResponseString);
errorCode = json.getInt("error_key");
Run Code Online (Sandbox Code Playgroud)

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

int errorCode = 42;
JSONObject json = new JSONObject();
json.put("error_key", errorCode);
String jsonString = json.toString();
Run Code Online (Sandbox Code Playgroud)