我在将JSON中的int
置于问题上存在问题。我有一个整数,我需要保存哪个服务器返回我的错误代码。问题是我必须在JSONObject
中解析它,但JSONObject
只接受字符串,而不是整数。这里是我想要做的一个例子:Android如何获取JSONObject中的int类型
int errorCode;
JSONObject ErrorCode;
ErrorCode = new JSONObject(errorCode);
任何建议如何解决这个问题?
我在将JSON中的int
置于问题上存在问题。我有一个整数,我需要保存哪个服务器返回我的错误代码。问题是我必须在JSONObject
中解析它,但JSONObject
只接受字符串,而不是整数。这里是我想要做的一个例子:Android如何获取JSONObject中的int类型
int errorCode;
JSONObject ErrorCode;
ErrorCode = new JSONObject(errorCode);
任何建议如何解决这个问题?
你可以这样做;当你尝试创建自己的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
JSONObject有一个公共的JSONObject(java.lang.Object bean)构造函数。尝试使用代码字段创建ErrorCode对象,并将其传递给JSONObject构造函数。
创建一个新的JSONObject
,然后在那JSONObject
调用put("fieldName", intValue)
。见docs。
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();
你试图把一个'int' _into_ JSON,或解析'int' _from_ JSON? –
我需要在JSONObject中放置一个int。 –
你能澄清你的问题吗?你提到解析,但在你的代码示例中,你正在创建一个新的JSONObject。 – dmon