У меня был следующий формат json:

[
 { "Otype" : "win"},
 { "Otype" : "win"},
 { },
 { },
 { "Otype" : " win 7"},
 { "Otype" : " Linux"}
] 

Для доступа к Otype я пишу Java-код, как показано ниже:

while(cur.hasNext() && !isStopped()) {
    String json = cur.next().toString(); 
    JSONObject jObject = new JSONObject(json);
    System.out.print(jObject.getString("Otype"));
}//end of while

Итак, приведенный выше оператор печати выводит только следующие результаты:

win
win

Но не печатать:

{ "Otype" : " win 7"}
{ "Otype" : " Linux"}

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

System.out.print(jObject.getString("Otype").trim());

Но все равно не работает :(.

Как я могу получить доступ ко всему вышеупомянутому значению json с помощью кода Java?

0
Yogesh 11 Апр 2014 в 10:48

2 ответа

Лучший ответ

Я нашел свое решение. Я изменил свой код, как показано ниже:

while(cur.hasNext() && !isStopped()) {
String json = cur.next().toString(); 
JSONObject jObject = new JSONObject(json);
if(jObject.has("Otype")){
       System.out.print(jObject.getString("Otype"));
   }//end of if
}//end of while
1
Michal Kordas 27 Апр 2015 в 18:34

Используйте toString() вот так

System.out.print(jObject.toString());
0
Balayesu Chilakalapudi 11 Апр 2014 в 06:53