【发布时间】:2011-07-15 07:14:49
【问题描述】:
我是解析 JSON 的新手——到目前为止,我一直是纯 XML。无论如何,我正在使用 JSON (Java ME) 来解析具有以下结构的内容:
{"name" : "JACK","name" : "JILL","name" : "JOHN","name" : "JENNY","name" : "JAMES","name" : "JIM"}
这是我的代码:
try {
JSONObject json = new JSONObject(response);
JSONArray jsonArray = outer.getJSONArray("name");
System.out.println("ARRAY SIZE:"
+ jsonArray.length());
} catch (JSONException ex) {
}
我的问题是我什至无法在我的 Eclipse 控制台中输出 println("ARRAY SIZE:"...) 语句。我得到任何类型输出的唯一一次是如果我使用以下代码:
try {
JSONObject json = new JSONObject(response);
System.out.println("OUTPUT:"
+ json.getString("name"));
} catch (JSONException ex) {
}
...这似乎只给了我最后一个元素。我无法让 JSONArray 工作有什么原因吗?是不是因为 JSON 不包含“外部”键?
如果有任何帮助,我将不胜感激。谢谢!
【问题讨论】:
-
试试这个方法:
{"names":["JACK","JILL","JOHN","JENNY","JAMES","JIM"]} -
Java 编程中的一般提示:不要抑制/吞下异常。只需将它们扔掉或至少通过
ex.printStackTrace()打印它们。它们包含有关问题原因的宝贵信息。 -
谢谢,BalusC。刚刚删除了异常处理以最小化代码。