2017-04-20 54 views
0

我打電話給返回json響應的方法。訪問JSON值到一個java變量

電話:

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響應來做到這一點?

+0

有很多方法可以做到這一點和許多工具,可以提供幫助。你在使用什麼技術? – Simon

回答

0

循環遍歷JSON response like this和這樣每次迭代分配屬性ID字符串:dc_id+=objectInArray.getString("_id");

0

你可以使用的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()); 
}