【问题标题】:Accessing JSON values into a java variable将 JSON 值访问到 java 变量中
【发布时间】:2017-04-20 18:35:38
【问题描述】:

我正在调用一个返回 json 响应的方法。

呼叫:

String domainTermJson = getTermJson(domainTermId,client,gson);

Response:

{"assigned_assets":{"items":[{"_type":"database_column","_id":"b1c497ce.60641b50.42lla3a9f.di3kgbf.q6iaov.51q42k0equhf2ept2cgts","_url":"https://cs2cislp02.bns:9443/ibm/iis/igc-rest/v1/assets/b1c497ce.60641b50.42lla3a9f.di3kgbf.q6iaov.51q42k0equhf2ept2cgts","_name":"__AC_DEAACC"},{"_type":"database_column","_id":"b1c497ce.60641b50.42lla491l.o39k1ru.63p48q.57h74d2s5llcll4e429ji","_url":.
.
.
.etc...

我想要做的是将所有 _id 值捕获到一个用逗号分隔的字符串中。示例如下:

String dc_id = "b1c497ce.60641b50.42lla3a9f.di3kgbf.q6iaov.51q42k0equhf2ept2cgts", "b1c497ce.60641b50.42lla491l.o39k1ru.63p48q.57h74d2s5llcll4e429ji"

如何使用 json 响应来做到这一点?

【问题讨论】:

  • 有很多方法可以做到这一点,许多工具可以提供帮助。您使用什么技术?

标签: java json


【解决方案1】:

循环遍历 JSON response like this 并在每次迭代中将属性 ID 分配给字符串,如下所示:dc_id+=objectInArray.getString("_id");

【讨论】:

    【解决方案2】:

    您可以使用 JSONObject 库来获得它。

    JSONObject jsonObject = new JSONObject(getTermJson(domainTermId,client,gson));
    JSONObject list = jsonObject.getJSONObject("assigned_assets").getJSONObject("items");
    JSONArray arr = new JSONArray(list);
    List<String> ids = new ArrayList<>();
    for (int i = 0; i < arr.length(); i++) {
        JSONObject obj = arr.getJSONObject(i);
        ids.add(obj.get("_id").toString());
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多