2016-08-22 2 views
0

Я читаю JSONObject в качестве входных данных, и я извлекая значение ключа «id» с использованием getString() метода net.sf.json API, но я хотел бы знать, почему это не происходит в случае блок ..Я получаю net.sf.JSONObject не может быть приведен к java.lang.String Exception

INPUT: 
    { 
    "id" : null 
    } 

код:

//reading the jsonObject from String 
JSONObject jsonObject.fromObject(someString); 
String id = jsonObject.getString("id"); 
if(id == null) 
{ 
     //the control is not going in this if condition 
} 
+0

печать 'id' значение и посмотреть, что он печатает –

+0

значит мне нужно использовать строка_опций ("ID", NULL) вместо GetString() – Rekha

+0

JSONObject jsonObject.fromObject (someString); это кодовая работа? –

ответ

0

использование optString("id",null) после isNull() проверки, когда вы не уверены в формате JSON будет такой же и ручка NPE.

JSONObject jO=jsonObject.fromObject(someString); 
String id = jO.optString("id",null); 
if(jO.isNull("id")) 
{ 
    //the control is not going in this if condition 
} 
else{ 

} 

или

jsonObject.optJSONObjet(String arg1) 

read this

+0

вы можете сказать мне, что этот optString() будет делать, и если я напечатаю значение id в этом случае, если он печатает «null» – Rekha

+0

@Rekha посмотрите на мои отредактированные ans –

Смежные вопросы