【问题标题】:How do i get particular field from the Json in Java?如何从 Java 中的 Json 获取特定字段?
【发布时间】:2019-03-12 13:33:57
【问题描述】:

假设,我有一个 Json,我想从 Json 中获取特定字段的值,那么我该如何实现呢?

请打开以下链接查看 json。

Json:https://jsoneditoronline.org/?id=05f3f2de21184ea19a105b4e5219c675

现在,我想获取我们可以在 object->changelog->histories->0->created/1->created/2->created....30-> 中找到的所有“created”的值已创建。

如果需要,我们也可以参考左侧的 json。

我如何获得在 java 代码中创建的值?请在这里帮助我。

【问题讨论】:

  • 使用 JSON 解析库。属于基本用法,只需 google 搜索即可。
  • Hey Mena:由于我是 Java 新手,所以我对此不太确定,但如果您现在可以帮助我编写 Java 代码,将不胜感激;)

标签: java json


【解决方案1】:

你可以使用 org.json,并且使用 JSONObject 你可以得到你想要的

JSONObject json = new JSONObject(yourjsonString);

---在评论后添加---

我建议你:

JSONObject json = new JSONObject(yourjsonString);//it's object
JSONObject changelog = json.getJSONObject("changelog");
JSONArray histories = changelog.getJSONArray("histories");
histories.getJSONObject(0); //first json in histories

您可以根据需要连接。
自己尝试得到你想要的。

【讨论】:

  • Hey Ehcnalb - 感谢您的回答;)您能帮我写代码吗?我在问题中提到的 Json 链接。
  • 你也可以尝试使用其他库,但我认为 org.json 对初学者来说更容易
【解决方案2】:

调用您的 url 以检索您的 json 内容。

String jsonString = requestInfoFromUrl(urlLink);   

private String requestInfoFromUrl(String url) throws IOException {
      UriComponentsBuilder builder = UriComponentsBuilder.fromUriString(url);
      HttpGet getMethod = new HttpGet(builder.build().toUri());
      HttpResponse response = httpClient.execute(getMethod);

      if (response.getStatusLine().getStatusCode() == 200){
             return EntityUtils.toString(response.getEntity());
      } else {
             LOG.error("Error appear while request response from an url.");
             return null;
      }
}

现在,在 jsonString 中,我们拥有来自 url 的所有 json。 现在让我们从该 json 中检索一个字段(更改日志字段):

String changelog = extractFromJsonAStringWithKey(jsonString, "changelog");

 private String extractFromJsonAStringWithKey(String jsonString, String key){
        JSONObject jsonObject = new JSONObject(jsonString);
        return (String) jsonObject.get(key);
}

【讨论】:

    【解决方案3】:

    最好的方法是使用一些专用的库,例如:

    【讨论】:

    • 这些问题最好重定向到谷歌
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 2016-04-29
    • 2019-04-19
    • 1970-01-01
    • 2021-11-26
    相关资源
    最近更新 更多