Obtain Inner JSON Array Values

二次信任 提交于 2019-12-24 17:08:14

问题


I'm attempting to get the values for the "filterInputParameters" array within the serviceResponseValue map. Right now I have attempted to iterate through the map but could only obtain the first level of data such as the displayName and I need to go one-two levels deeper for the values in filterInputParamters array. Please let me know if you need more information.

Dart Code:

var jsonString = response;

   var dropDown = querySelector("#asset");

   Map jsonObject = JSON.decode(jsonString) as Map;
       dropDownList = jsonObject["serviceResponseValue"] as List<Map>;

   LinkedHashMap<String, Map> dataMap = new LinkedHashMap<String, Map>();

//the one causing issues and returning null
     var ddValues2 = dropDownList
       //extract the 'displayValue'
       .map((e2) => e2['filterInputParameters']['value']);
       //create a set to eliminate duplicates
       //.toSet().toList()
       //sort the result 
       //..sort();

       ddValues2.forEach((e2) {
         print(e2);

       });

回答1:


Map jsonObject = JSON.decode(jsonString) as Map;
print(jsonObject["serviceResponseValue"][0]["filterInputParameters"]);

In JSON [ ] indicate a List and { } a Map.
You access a list element by passing a numeric index (xxx[5] to get the 6th item)
and a String to access a Map item (xxx["serviceResponeValue"]).

Your JSON starts with

 {  // the outer element is a map
   "serviceResponseValue":[  // this map item can be accessed with a 
                             // string index"serviceResponseValue"
                             // after the colon `:` starts the associated value, a list
                             // the first item can be accessed using [0]
      {  // which contains a map

...

       "filterInputParameters":[  // this item of the map is returned by ["filterInputParameters"]
          {  
             "id":"8a4984e047d0e40d0147d0e410020008",


来源:https://stackoverflow.com/questions/25310276/obtain-inner-json-array-values

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!