2011-09-20 67 views
2

我有一个json编码的消息,它是由php文件生成的。问题是我无法在textview中将其显示在android上。JSON解析的数据不显示在android textview

package com.saki.json; 

import android.app.Activity; 
import android.os.Bundle; 
import android.widget.TextView; 
import org.json.JSONObject; 
import org.json.JSONException; 

public class JsonActivity extends Activity { 
private static final String JSON_STRING = 
    "{\"person\":{\"name\":\"A\",\"age\":30,\"children\":[{\"name\":\"B\",\"age\":5}," + "\"name\":\"C\",\"age\":7},{\"name\":\"D\",\"age\":9}]}}"; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    TextView line1 = (TextView)findViewById(R.id.line1); 
    TextView line2 = (TextView)findViewById(R.id.line2); 
    TextView line3 = (TextView)findViewById(R.id.line3); 
    try { 
     JSONObject person = (new JSONObject(JSON_STRING)).getJSONObject("person"); 
     String name = person.getString("name"); 
     line1.setText("This person's name is " + name); 
     line2.setText(name + " is " + person.getInt("age") + " years old."); 
     line3.setText(name + " has " + person.getJSONArray("children").length() 
      + " children."); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
} 

我该如何解决这个问题?

+2

你的JSON似乎并不正确,你至少错过了第二个子项的开头括号“{”。应该会抛出一些异常,并在logcat中使用TAG'System.err'打印。 – 2011-09-20 22:57:20

回答