excel转json,读取json文件踩过的坑
- 第一个bug:
- 问题描述:
- 原因分析:
- 解决方案:
- 第二个bug:
- 问题描述:
- 原因分析:
- 解决方案:
- 第三个bug:
- 问题描述:
- 原因分析:
- 解决方案:
第一个bug:
问题:我原本偷懒,不想一个一个复制内容,所以用了excel转json工具,想直接转成json,用代码读取。但是第一次运行,就报错了。我用的工具是excel2json。有感兴趣的小伙伴可以去试一试。下载里面的zip格式文件,解压就可以直接用哦。
最新版下载链接.github源码下载地址.
问题描述:
遇到的问题:
今天在读取json文件的时候,遇到报错。因为json文件不是用JsonUtility函数写入,而是用别的插件,把excel表转成的,所以出现了意料之外的报错。下面是报错信息和截图
报错信息:JSON must represent an object type:
原因分析:
json有自己的语法规则。必须保存在大括号内。我的恰好在外面是个中括号。
。
解决方案:
提示:这里填写该问题的具体解决方案:
例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。
第二个bug:
就当我喜滋滋的以为好了时,然而第二个bug立刻无缝衔接出现了!
问题描述:
遇到的问题:
根据提示,说我缺少对象成员的名称。
报错信息:JSON parse error: Missing a name for object member.:
原因分析:
json的文件里的格式缺少必要的一些修改。
解决方案:
像下面一样,加上大括号、名字、引号和冒号就可以了。我只截图了上半部分的括号,大括号的下半部分要记得在后面加上啊。名字是加的包装了list类的字段名。
第三个bug:
问题:虽然改成上面的样子了,原来的没报错。但又又又有新的问题出现了。
问题描述:
如图,运行后一直报空值,脚本指向foreach里的steps。:
原因分析:
原因:
千万不要以为是真的是空值造成的。原来我new了空间分配给steps。但是没用。其实是因为我序列化对应的类时,把Serializable写成了SerializeField。
解决方案:
改成Serializable改好就行啦