Android как получить тип int в JSONObject - PullRequest
2 голосов
/ 30 августа 2011

У меня проблема с помещением int в JSON.У меня есть целое число, где мне нужно сохранить код ошибки, который сервер возвращает мне.Проблема в том, что я должен разобрать его в JSONObject, но JSONObject принимает только строки, а не целые числа.Вот пример того, что я пытаюсь сделать:

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

Есть предложения, как решить эту проблему?

Ответы [ 4 ]

9 голосов
/ 30 августа 2011

вы можете сделать это; когда вы пытаетесь создать свой объект 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
7 голосов
/ 30 августа 2011

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();
3 голосов
/ 30 августа 2011

Создайте новый JSONObject, затем на этом JSONObject вызовите put("fieldName", intValue). См. документы .

1 голос
/ 30 августа 2011

JSONObject имеет открытый конструктор JSONObject (java.lang.Object).Попробуйте создать объект ErrorCode с полем кода и передать его конструктору JSONObject.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...