根据数组中的另一个值从JSON数组中获取值

时间:2017-08-10 19:49:00

标签: java android json android-volley

这是我的JSON回复:

```{r, echo = FALSE}

#install.packages("Rfacebook") 

include(Rfacebook)

token <- "Facebook dev auth token goes here"

page_name <- "BuzzFeed"

my_page <- getPage(page_name, token, n = 2,reactions = TRUE,api = "v2.10") 

number_required <- 50

dates <- seq(as.Date("2017/07/14"), Sys.Date(), by = "day")

#
n <- length(dates) - 1 

df_daily <- list() 

for (i in 1:n){

cat(as.character(dates[i]), " ")

try(df_daily[[i]] <- getPage(page_name, token, 
                             n = number_required,reactions = TRUE,api = "v2.10", 
                             since = dates[i], 
                             until = dates[i+1]))

cat("\n")
}
```

我需要根据数组中的特定位置添加值,这意味着,例如,location_name&#34;:&#34; Baker Junction&#34;是我需要的位置然后到我的数组我应该只添加指定的atm名称。在下面的代码中,所有名称都被添加到数组

[  
   {  
      "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"
   }
]

1 个答案:

答案 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)
           }

然后

//you can directly use this value or you can use the index to again fetch the json or for other purpose
        int count =0;
        int index = 0 ;
        for(Sting s : list){
        if(s.equals("yourvalue"){
             index = count;
           }
          count++
         }

然后

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

           }
       }