Android JSON Exception - PullRequest
       2

Android JSON Exception

0 голосов
/ 26 сентября 2011

У меня есть небольшая проблема с анализом данных JSON, которые я получаю через сервер. У меня есть два объекта JsonObject, которые не всегда имеют данные, только в некоторых случаях, но мне нужно проверить, являются ли они нулевыми или нет каждый раз.используя этот код для этого:

String jsonData = new String(contentBuffer,"UTF-8");
            Log.w("JSONDATA","JSONDATA VALID OR NOT : "+jsonData);
            json = new JSONObject(jsonData);
            JSONObject jsonObj =(JSONObject) new JSONTokener(jsonData).nextValue();

if(jsonObj.getString("collection_id")==null){
                values.put("collection_id", 0);
            }else {
                collectionId = Integer.parseInt(jsonObj.getString("collection_id"));
                values.put("collection_id", collectionId);
            }   
            Log.w("COLLECTION ID ","SHOW COLLECTION ID : "+collectionId);

            if(jsonObj.getString("card_id")!=null){
                values.put("card_id", cardId);
            }else {
                values.put("card_id", 0);
            }
            Log.w("CARD ID ","SHOW CARD ID : "+cardId);

И то, что я хочу, чтобы оно не выдавало исключение, просто чтобы проверить, является ли collection_id значение null, сохранить 0 в базе данных, и еслине сохранить это значение.Но используя этот код, я получаю JSONException.

Есть идеи, как это исправить?

Ответы [ 2 ]

3 голосов
/ 26 сентября 2011

использование

   if ( jsonObject.has("collection_id"))

это проверит, присутствует ли в jsonObject ключ collection_id.

2 голосов
/ 26 сентября 2011

Вы также можете использовать

collectionId = jsonObj.optInt("collection_id", 0);

Получит значение как int, если оно существует, или вернет 0, если его нет.

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