首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >读取JSON数据颤动遇到困难

读取JSON数据颤动遇到困难
EN

Stack Overflow用户
提问于 2021-04-14 17:08:21
回答 1查看 30关注 0票数 0

这是我的JSON数据结构:

代码语言:javascript
运行
AI代码解释
复制
[
  [
   {
    "nos": 0,
     "name": "A S MUSIC AND DANCE A CULTURAL ORGANIZATION",
    "unique_id": "AN/2020/0259067",
    "reg_details": [
     {
      "registered_with": "Registrar of Societies"
      },
     {
      "type_of_ngo": "Registered Societies (Non-Government)"
     },
     {
      "registration_no": "1534"
       },
       {
         "copy_of_registration_certificate": "Available"
          },
       {
         "copy_of_pan_card": "Available"
        },
       {
        "act_name": "Registration Act,1860"
        },
      {
       "city_of_registration": "Port Blair"
      },
       {
       "state_of_registration": "ANDAMAN & NICOBAR ISLANDS"
        },
         {
       "date_of_registration": "25-05-2016"
        }
      ],  

在我的this函数中:

代码语言:javascript
运行
AI代码解释
复制
 Future<void> _NgoDetail() async {
    String jsonString = await _loadANgoAsset();
    final jsonResponse = json.decode(jsonString);
    var rest = jsonResponse[0] as List;
    List list=[];
    list= rest.map<NGO>((json) => NGO.fromJson(json)).toList();
    debugPrint(list[0].regDetails[1].type_of_ngo);
  }

当我运行这行代码时:

代码语言:javascript
运行
AI代码解释
复制
debugPrint(list[0].regDetails[1].type_of_ngo);

结果是好的

代码语言:javascript
运行
AI代码解释
复制
I/flutter ( 5579): List<dynamic>
I/chatty  ( 5579): uid=10326(com.skillzup.mn.mn) 1.ui identical 117 lines
I/flutter ( 5579): List<dynamic>
I/flutter ( 5579): Registered Societies (Non-Government)

但当我运行这段代码时:

代码语言:javascript
运行
AI代码解释
复制
debugPrint(list[0].regDetails[2].registration_no);

我得到了这个错误:

代码语言:javascript
运行
AI代码解释
复制
I/flutter ( 5579): List<dynamic>
I/chatty  ( 5579): uid=10326(com.skillzup.mn.mn) 1.ui identical 117 lines
I/flutter ( 5579): List<dynamic>
I/flutter ( 5579): null

这个也是一样的:

代码语言:javascript
运行
AI代码解释
复制
debugPrint(list[0].regDetails[3].copy_of_registration_certificate);

错误:

代码语言:javascript
运行
AI代码解释
复制
Unhandled Exception: NoSuchMethodError: Class 'RegDetails' has no instance getter 'copy_of_registration_certificate'.

我想从这个接口获得的最重要的数据是: debugPrint(list2.regDetails8.date_of_registration);

但是我得到了这个错误:

代码语言:javascript
运行
AI代码解释
复制
I/flutter ( 5579): List<dynamic>
I/chatty  ( 5579): uid=10326(com.skillzup.mn.mn) 1.ui identical 117 lines
I/flutter ( 5579): List<dynamic>
I/flutter ( 5579): null

对于某些字段,数据显示正确,但对于某些字段,要么显示为空,要么显示某些错误。我遗漏了什么?

这是我的NGO和注册类:

代码语言:javascript
运行
AI代码解释
复制
class NGO {
  String name;
  String id;
  List<RegDetails> regDetails;
  contactDetails ContactDetails;
  Members members;
  WorkingSectors workingSectors;

  NGO(
      {this.members, this.regDetails, this.name, this.workingSectors, this.ContactDetails, this.id,});

  
  factory NGO.fromJson(Map<String, dynamic> json) {
    var list = json['reg_details'] as List;
    print(list.runtimeType);
    List<RegDetails> regDetails = list.map((i) => RegDetails.fromJson(i)).toList();


    return NGO(
      id: json["unique_id"],
      name: json['name'],
     regDetails: regDetails


    );
  }
}

class RegDetails {
  String registration_no;
  String type_of_ngo;
  String registered_with;
  String copy_of_pan_card;
  String date_of_registration;
  String city_of_registration;
  String state_of_registration;
  String FCRA;

  RegDetails(
      {this.FCRA = 'Not Available', this.city_of_registration, this.copy_of_pan_card, this.date_of_registration, this.registered_with, this.registration_no, this.state_of_registration, this.type_of_ngo});

  factory RegDetails.fromJson(Map<String, dynamic> json){
    return RegDetails(
      registration_no: json['registeration_no'],
      type_of_ngo: json['type_of_ngo'],
      registered_with: json['registered_with'],
      copy_of_pan_card: json['copy_of_pan_card'],
      date_of_registration: json['date_of_registeration'],
      city_of_registration: json['city_of_registeration'],
      state_of_registration: json['state_of_registeration'],
    );
  }
}
EN

回答 1

Stack Overflow用户

发布于 2021-04-14 18:18:30

由于这段代码中的拼写错误

代码语言:javascript
运行
AI代码解释
复制
  factory RegDetails.fromJson(Map<String, dynamic> json){
    return RegDetails(
      registration_no: json['registration_no'],
      type_of_ngo: json['type_of_ngo'],
      registered_with: json['registered_with'],
      copy_of_pan_card: json['copy_of_pan_card'],
      date_of_registration: json['date_of_registeration'],
      city_of_registration: json['city_of_registeration'],
      state_of_registration: json['state_of_registeration'],
    );
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67096137

复制
相关文章
替换空格
https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/
代码随想录
2021/07/16
4.7K0
替换空格
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
用户3003813
2018/09/06
3.1K0
替换空格
题目描述 请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 public class Solution { public String replaceSpace(StringBuffer str) { if(str==null){ return null; } StringBuilder newStr = new St
desperate633
2018/08/27
2.4K0
替换空格
题目:请实现一个函数,把字符串中的每个空格替换成“%20”。例如输入“We are happy.”,则输出“We%20are%20happy.”。       看到这个题目,我们首先应该想到的是原来一个空格字符,替换之后变成'%'、'2'和'0'这3个字符,因此字符串会变长。如果是在原来的字符串上做替换,那么就有可能覆盖修改在该字符串后面的内存。如果是创建新的字符串并在新的字符串上做替换,那么我们可以自己分配足够多的内存。       在这里介绍一种时间复杂度为O(n)的解法。        我们可以先遍历
猿人谷
2018/01/17
2.8K0
替换空格
空格替换
设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。
呼延十
2019/07/01
2.3K0
[剑指offer] 替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
尾尾部落
2018/09/04
1.9K0
[剑指offer][Java]替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
蛮三刀酱
2019/03/26
2.1K0
空格替换
描述 设计一种方法,将一个字符串中的所有空格替换成 %20 。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。 你的程序还需要返回被替换后的字符串的长度。 注意事项:如果使用 Java 或 Python, 程序中请用字符数组表示字符串。 样例 对于字符串 "Hello World" , 长度为 11 替换空格之后,参数中的字符串需要变为 "Hello%20World",并且把新长度 17 作为结果返回。 思路 循环遍历字符数组 碰到空字符则将空字符后所有的字符向后移动两位
一份执着✘
2018/06/04
2.6K0
替换空格_02
咱也不知道这题是不是有啥奇怪的思路要做?直接就下面这行代码结束了。 public String replaceSpace (String s) { if (s==null||s.length()==0){ return ""; }else { return s.replaceAll(" ","%20"); } }
名字是乱打的
2021/12/23
1.7K0
替换空格_02
LintCode 空格替换
设计一种方法,将一个字符串中的所有空格替换成 %20。你可以假设该字符串有足够的空间来加入新的字符,且你得到的是“真实的”字符长度。 你的程序还需要返回被替换后的字符串的长度。
desperate633
2018/08/22
7660
[剑指]2空格替换
1,题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20 Happy。 2,解题思路 这里我们直接用字符串遍历的方法,将每一个字符遍历出来进行判断; 若等于空格,则替换成%20,不等于空格,则加上其本身即可; 最后再转换成字符串对象; 3,程序代码 public static String replaceSpace(StringBuffer str) { StringBuffer sb=n
程序员的时光001
2020/07/22
8950
004-替换空格
替换空格 请实现一个函数,将一个字符串中的每个空格替换成"%20"。 We Are Happy 输出 We%20Are%20Happy分析 遍历字符串 Python class Solution: def replaceSpace(self, s): # s 源字符串 s = list(s) count=len(s) for i in range(0,count): if s[i]==' ':
单车变摩托
2019/04/04
7260
牛客网 替换空格
一个空格最后替换成'%''2''0',一个字符替换为三个字符,相当于增加了2个字符;
怠惰的未禾
2023/04/27
1.5K0
从后往前替换空格
① 在字符串尾部填充任意字符,使得字符串的长度等于替换之后的长度。因为一个空格要替换成三个字符(%20),所以当遍历到一个空格时,需要在尾部填充两个任意字符。
MickyInvQ
2021/10/26
1K0
【剑指offer】替换空格
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
喜欢ctrl的cxk
2019/11/08
7410
【剑指Offer】替换空格
但是,显然这种已经有的方法不是面试官想要得到的答案,所以你得另寻方法,自己写个方法,如果写不出,那肯定给面试官不能留下一个好的印象。
Rochester
2020/09/10
6260
字符串:替换空格
示例 1: 输入:s = "We are happy." 输出:"We%20are%20happy."
代码随想录
2020/09/10
4.6K0
字符串:替换空格
Sword To Offer 002 - 替换空格
请实现一个函数,将一个字符串中的空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
Reck Zhang
2021/08/11
5750
牛客网-替换空格
请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
手撕代码八百里
2020/07/28
8570
word文档尾部空格没有下划线
问题出在兼容性上面了,office版本太多了!解决方法如下: 1.word2003——工具-〉选项-〉兼容性-〉找到“为尾部空格添加下划线”的选项打勾即可 2.word2007——点击左上角的“MS Office按钮”——word选项——高级——兼容性选项——版式选项——为尾部空格添加下划线 3.word2016——文件——选项——高级——兼容性选项——microsoft office 2013-2016——确定 修改后效果:
P轴
2022/11/18
9400

相似问题

用下划线替换空格

132

用下划线替换空格

50

${file%/*}用下划线替换空格

18

内容替换功能:用下划线替换空格

13

JQuery -用空格替换下划线

45
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文