首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Json类型中获取数据

如何从Json类型中获取数据
EN

Stack Overflow用户
提问于 2021-03-09 11:24:39
回答 3查看 43关注 0票数 0

我已经尝试了很长一段时间从Json本地文件中获取数据。

此时此刻,我的代码就像:

代码语言:javascript
复制
static Future<String> loadJsonData() async {
    var jsonText = await rootBundle.loadString('assets/Json/CDV.json');
    data = json.decode(jsonText);
    for(int i = 0; i < data.length; i++){
      print(data[i]);
    }
    
    return 'success';
  }

我得到了:

{属性:{ id: 2618,id: 2619,Adresse: Banque Atlantique Agence,Zone Industrielle阿比让-Ville Lagunes科特迪瓦,经度:-4.000757,纬度: 5.265247},几何学:{x:-4.000757,y: 5.265247}i/颤振(26638):{id: 2619,id: 2620,Adresse:信誉汽车阿比让-Ville Lagunes科特迪瓦,经度:-4.002028,纬度: 5.266179},几何学:{x:-4.002028,y: 5.266179}i/F挥杆(26638):{属性:{ id: 2620,id: 2621,Adresse: banque Sociétégénérale科特迪瓦新闻社Vridi阿比让-Ville Lagunes科特迪瓦,经度:-4.004049,纬度: 5.268738},几何学:{x: 4.004049,y: 5.268738} I/flutter (26638):{属性:{FID: 2621,id: 2622,Adresse: banque Bicici - Agence阿比让-Ville Lagunes科特迪瓦,经度:-4.013067,纬度: 5.266223},几何学:{x:-4.013067,y: 5.266223}i/挥动(26638):{属性:{FID: 2622,id: 2623,Adresse:非洲银行(BOA) - Africa阿比让-Ville Lagunes科特迪瓦,经度:-4.008449,纬度: 5.266771},几何学:{x:-4.008449,y: 5.266771}}

我想从那个回应中提取出一个列表,但我无法触及它;

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-03-09 11:34:29

您需要访问attributes,然后像这样访问address ( data[i]['attributes']['Adresse'] )

代码语言:javascript
复制
static Future<String> loadJsonData() async {
    var jsonText = await rootBundle.loadString('assets/Json/CDV.json');
    data = json.decode(jsonText);
    for(int i = 0; i < data.length; i++){
      print(data[i]['attributes']['Adresse']);
    }
    
    return 'success';
  }
票数 0
EN

Stack Overflow用户

发布于 2021-03-09 11:36:10

代码语言:javascript
复制
class Address {
  final int FID;
  final String addr;

  Address(this.addr, this.FID);

  Address.fromMap(Map m)
      : this.addr = m["Adresse"],
        this.FID = m["FID"];
}

static Future<List<Address>> loadJsonData() async {
    var jsonText = await rootBundle.loadString('assets/Json/CDV.json');
    data = json.decode(jsonText);
    var list = [];
    for(int i = 0; i < data.length; i++){
      list.add(Address.fromMap(data[i]["attributes"]);
    }
    
    return list;
  }
票数 0
EN

Stack Overflow用户

发布于 2021-03-09 12:21:03

请参阅使用相同方式的答案这里,或者您可以使用来自谷歌的颤振包串行化轻松地使用来获取json数据并序列化它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66545979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档