【问题标题】:Need help working with a json formatted string. (Java)需要帮助处理 json 格式的字符串。 (爪哇)
【发布时间】:2013-05-25 11:07:43
【问题描述】:

我将this page 的内容存储在一个字符串变量中。我花了几个小时研究在 java 中使用 json 的不同方式,并且学到了很多关于构建路径、依赖项、ssl 证书等的知识。我这样说是为了强调我一直在独立寻找这个问题的答案。我终于屈服了,我需要帮助。

我正在寻找一种方法将此字符串转换为某种 json 数组,以便我可以更轻松地访问各个元素。例如,类似于以下内容的内容:

int map = jsonArray[index].getInt("map_Id");

我希望我正在尝试做的事情足够清楚。任何帮助将不胜感激。

编辑:我目前正在尝试使用 gson,但愿意接受建议。

【问题讨论】:

  • 显示您当前工作的代码在哪里?
  • 说你环顾四周是不够的。如果您花费数小时在 Google 上搜索,那么到目前为止您尝试了哪些方法,发现哪些方法不起作用?

标签: java arrays json string api


【解决方案1】:

您可以使用 Jackson 用于 JSON 解析的库,如下所示:

public static int getIntFromJson(String jsonString)
{
    ObjectMapper mapper = new ObjectMapper();
    JsonNode node = mapper.readTree(jsonString);
    int id = node.get(0).get("age").asInt();   
    return id;      
}

假设你的jsonString是这样的,上面的代码会返回39

[
  { "name": "Dagny Taggart", "age": 39 }, 
  { "name": "Francisco D'Anconia", "age": 40 }, 
  { "name": "Hank Rearden", "age": 46 }
]

【讨论】:

    【解决方案2】:

    您可以从 http://json.org 底部的 Java 部分中选择一个库(在这种情况下,用于解码 JSON)

    【讨论】:

    • 此时我已经尝试了多个库,所有这些库都给我带来了一些问题。目前我正在尝试gson。我将编辑操作以反映这一点。
    【解决方案3】:

    你可以看看下面的库: json-java

    您可以使用JSONObject 解析代表JSON 对象的字符串,然后提取您感兴趣的值。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-05
      • 1970-01-01
      • 2014-08-01
      • 1970-01-01
      • 2020-08-21
      • 2017-05-06
      相关资源
      最近更新 更多