JSON Android: разбор JSON - PullRequest
       3

JSON Android: разбор JSON

0 голосов
/ 21 ноября 2011

У меня есть json:

[ {user:"John",s:"Ldh",e:"usa"},{user:"Paul",s:"bukit panjang ",e:"FedExForum - Memphis"},{user:"ross",s:"bukit panjang ",e:"FedExForum - Memphis "}]

Я анализирую это с помощью следующего кода, чтобы получить все значения "user" ..

public class ListViewAndroidActivity extends ListActivity {
private String newString, user;
ArrayList<String> results = new ArrayList<String>();
@Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
TestServiceActivity test = new TestServiceActivity(); //This returns json from the server
   newString = test.readPooledFeed(); // returned json in string format

   JSONArray rootArray = new JSONArray(newString);
   int len = rootArray.length();
   for(int i = 0; i < len; ++i) {
       JSONObject obj = rootArray.getJSONObject(i);

      user = obj.optString("user");
    results.add(user);
   }
}

Это не дает мне ошибки.. но на экране ничего не отображается .. любезно помогите!

Ответы [ 2 ]

1 голос
/ 21 ноября 2011

optString: Получить необязательную строку, связанную с ключом.

Я не вижу ключ u в вашем объекте JSON, не должен ли он быть user = obj.optString("user");

0 голосов
/ 21 ноября 2011

JSON форматирование

Ваши данные JSON недопустимы, они действительны как javascript, но не как JSON.

Все свойства должны быть указаны в JSON:

[
 { "user": "John", "s": "Ldh", "e": "usa"},
 { "user":"Paul", "s":"bukit panjang ", "e": "FedExForum - Memphis" },
 { "user": "ross", "s":"bukit panjang ", "e":"FedExForum - Memphis "}
]

Отступы не нужны, я просто сделал это, чтобы было понятнее.

Недостающее поле

Ваш анализатор, кажется, игнорирует, что ваши входные данные неверны. Другая проблема может заключаться в том, что, как уже упоминалось, вы запрашиваете свойство u в user = obj.optString("u");, которого не существует.

...