Json 如何在颤振中过滤贴图?

Json 如何在颤振中过滤贴图?,json,filter,dart,flutter,Json,Filter,Dart,Flutter,我有一个json文件,如下所示。当用户选择金额和到期日时,我需要显示到期日值 示例:如果用户选择金额=500,到期日=2400万。我需要显示数字6 如何在颤振中过滤贴图 以下是我迄今为止所做的: 我的json文件: { “AMOUNT”:[ { "500":{ “MATURITY":[ { "12M”:”4” },

我有一个json文件,如下所示。当用户选择金额和到期日时,我需要显示到期日值

示例:如果用户选择金额=500,到期日=2400万。我需要显示数字6

如何在颤振中过滤贴图

以下是我迄今为止所做的:

我的json文件:

{  
   “AMOUNT”:[  
      {  
         "500":{  
            “MATURITY":[  
               {  
                  "12M”:”4”
               },
               {  
                  "24M”:”6”
               },
               {  
                  "36M”:”8”
               },
               {  
                  "48M”:”10”
               },
               {  
                  "60M”:”12”
               }
            ]
         },
         “1000":{  
            “MATURITY":[  
               {  
                  "12M”:”8”
               },
               {  
                  "24M”:”12”
               },
               {  
                  "36M”:”16”
               },
               {  
                  "48M”:”20”
               },
               {  
                  "60M”:”24”
               }
            ]
         }
      }
   ]
}
// Test part trying to load json into basic map...
String jsonFastMaturity = await rootBundle.loadString("assets/myfile.json");
Map _mapFastMaturity = jsonDecode(jsonFastMaturity);
List _tmpFastMaturity = _mapFastMaturity[“AMOUNT”];
Json加载:

{  
   “AMOUNT”:[  
      {  
         "500":{  
            “MATURITY":[  
               {  
                  "12M”:”4”
               },
               {  
                  "24M”:”6”
               },
               {  
                  "36M”:”8”
               },
               {  
                  "48M”:”10”
               },
               {  
                  "60M”:”12”
               }
            ]
         },
         “1000":{  
            “MATURITY":[  
               {  
                  "12M”:”8”
               },
               {  
                  "24M”:”12”
               },
               {  
                  "36M”:”16”
               },
               {  
                  "48M”:”20”
               },
               {  
                  "60M”:”24”
               }
            ]
         }
      }
   ]
}
// Test part trying to load json into basic map...
String jsonFastMaturity = await rootBundle.loadString("assets/myfile.json");
Map _mapFastMaturity = jsonDecode(jsonFastMaturity);
List _tmpFastMaturity = _mapFastMaturity[“AMOUNT”];
这应该行得通

   final amount = "500";
   final maturity = "24M";
   _mapFastMaturity["AMOUNT"][0][amount]["MATURITY"].singleWhere((m) => m.containsKey(maturity))[maturity]
如果您遇到错误,这将有助于调试。这里哪一行有错误

   final a = _mapFastMaturity["AMOUNT"];
   final b = a[0];
   final c = b[amount];
   final d = c["MATURITY"];
   final e = d.singleWhere((m) => m.containsKey(maturity));
   final f = e[maturity];

没用。对null调用了方法“[]”。我编辑了[_amount][“MATURITY”]来创建一个调试代码,您能看到哪一行失败了吗?