【问题标题】:Help parsing simple JSON (using JSON for JAVA ME)帮助解析简单 JSON(使用 JSON for JAVA ME)
【发布时间】: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。刚刚删除了异常处理以最小化代码。

标签: java json parsing java-me


【解决方案1】:

密钥必须是唯一的。您需要使用“Name1”、“Name2”等来区分这些“名称”

【讨论】:

  • 不幸的是,JSON 正在由我无法控制的 Web 服务返回。我将不得不接受他们。不过很高兴知道 - 谢谢!
【解决方案2】:

你好,创建一个类似格式的 json 文件.... {"name1" : "JACK","name2" : "JILL","name3" : "JOHN","name4" : "JENNY","name5" : "JAMES","name6" : "JIM"} 并将此文件保存在服务器上的 WEB-INF 文件夹中并通过读取此文件从服务器获取响应... 谢谢

【讨论】:

    猜你喜欢
    • 2021-11-01
    • 2018-12-11
    • 1970-01-01
    • 1970-01-01
    • 2011-07-26
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    相关资源
    最近更新 更多