2017-08-10 55 views
-1

这里是我的JSON响应:基于阵列中的另一个值从JSON数组提取价值

[ 
    { 
     "name":"Canara Atm", 
     "location_name":"Baker Junction" 
    }, 
    { 
     "name":"Canara Atm", 
     "location_name":"Manarcaud" 
    }, 
    { 
     "name":"Canara Atm", 
     "location_name":"Palai Arunapuram" 
    }, 
    { 
     "name":"Canara Atm", 
     "location_name":"Changanacherry" 
    } 
] 

我需要先拿到添加基于特定位置值的阵列,手段,例如, LOCATION_NAME“:”贝克结”是我需要的位置,然后到我的阵列我应该只添加指定的ATM名在下面的代码,所有的名字都被添加到阵列

try { 
     JSONArray jsonArray = new JSONArray(response); 
     JSONObject json = null; 
     final String xcoords[] = new String[jsonArray.length()]; 
     if (jsonArray.length() != 0) { 
      for (int i = 0; i < jsonArray.length(); i++) { 
       json = jsonArray.getJSONObject(i); 
       xcoords[i] = (json.getString("name")); 

      } 
     } 
    } 
+0

我不太明白。您希望将特定单个(!)“location_name”(例如:Baker Junction)的“名称”添加到固定长度的字符串数组中。这不仅仅是一个只有一个值的X长度的数组。那么阵列中的X-1条目是空的? – Barns

+0

问题的状态如何?如果给出的答案解决了问题,考虑接受答案以便将问题标记为已解决并正确执行。这有助于让每个人都知道不需要更多的答案。您应该为解决的任何其他问题执行此操作。 –

回答

0

这是我做的,你。可以将json转换为如下所示的列表,

ArrayList<String> list = new ArrayList<>(); 
for (int i = 0; i < jsonArray.length(); i++) { 
       json = jsonArray.getJSONObject(i); 
       Strring s = (json.getString("name")); 
       list.add(p) 
      } 

然后

然后

if (jsonArray.length() != 0) { 
      for (int i = 0; i < jsonArray.length(); i++) { 
      // your index here 
       json = jsonArray.getJSONObject(index); 
       xcoords[i] = (json.getString("name")); 

      } 
     } 
相关问题