我有一个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);
}
}这不会给我任何错误..但是屏幕上什么也没有显示..请帮帮忙!
发布于 2011-11-22 00:41:32
optString :获取与键关联的可选字符串。
我没有在你的JSON对象中看到键u,它不应该是user = obj.optString("user");吗
发布于 2011-11-22 00:40:37
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 "}
]缩进不是必需的,我这样做只是为了让它更清晰。
缺少字段
您的解析器似乎忽略了您的输入数据无效。其他问题可能是,正如其他人提到的,您在user = obj.optString("u");请求u属性,但该属性并不存在。
https://stackoverflow.com/questions/8215193
复制相似问题