首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >json android:解析json

json android:解析json
EN

Stack Overflow用户
提问于 2011-11-22 00:37:41
回答 2查看 377关注 0票数 0

我有一个json:

代码语言:javascript
复制
[ {user:"John",s:"Ldh",e:"usa"},{user:"Paul",s:"bukit panjang ",e:"FedExForum - Memphis"},{user:"ross",s:"bukit panjang ",e:"FedExForum - Memphis "}]

我正在用下面的代码解析它,以检索"user“的所有值。

代码语言:javascript
复制
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);
   }
}

这不会给我任何错误..但是屏幕上什么也没有显示..请帮帮忙!

EN

回答 2

Stack Overflow用户

发布于 2011-11-22 00:41:32

optString :获取与键关联的可选字符串。

我没有在你的JSON对象中看到键u,它不应该是user = obj.optString("user");

票数 1
EN

Stack Overflow用户

发布于 2011-11-22 00:40:37

JSON格式化

您的JSON数据无效,它作为javascript有效,但不是JSON。

所有属性都应在JSON中引用:

代码语言:javascript
复制
[
 { "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属性,但该属性并不存在。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8215193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档