【问题标题】:simpleJson parsing in JavaJava中的simpleJson解析
【发布时间】:2014-01-23 15:44:27
【问题描述】:

我对解析 JSON 非常陌生。我已经看了一遍,似乎无法理解我的特定问题的想法。我很难理解如何从 JSON 数组中获取 JSON 对象。我的例子如下

[{"styleId":94,
  "status":"verified",
  "abv":"4.2",
  "name":"Bud Light"}]

这是我当前的代码

       JSONParser parser = new JSONParser();

       Object obj = parser.parse(inputLine);

       JSONObject jsonObject = (JSONObject) obj;

       Long currPage = (Long)jsonObject.get("currentPage");
       System.out.println(currPage);


       JSONArray jArray = (JSONArray)jsonObject.get("data");
       System.out.println(jArray);

inputLine 是我的原始 JSON。我从具有“数据”标签的原始 JSONObject 中提取了一个 JSONArray。现在这就是我被卡住并在顶部给出 JSONArray 的地方。不知道如何遍历数组以获取“名称”标签。

感谢您的帮助!

【问题讨论】:

  • JSONObject obj2=(JSONObject)jArray.get(0);然后 System.out.println(obj2.get("name"));
  • 为什么不使用 Jackson 之类的工具为您做 JSON 管道?

标签: java json simplejson


【解决方案1】:

要在 JSONArray 中迭代,您需要循环遍历每个元素。

int resultSize = jArray.length();           
JSONObject result;

for (int i = 0; i < resultSize; i++) {
    result = resultsArray.getJSONObject(i);
    String name = result.getString("name");

    // do whatever you want to do now...
}

【讨论】:

    【解决方案2】:

    只需使用 Gson 。它适用于您提供的任何对象类型,开箱即用。

    这是一个例子from the user's guide

    int[] ints2 = gson.fromJson("[1,2,3,4,5]", int[].class);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-12-28
      • 1970-01-01
      • 2021-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多