excel转json,读取json文件踩过的坑

  • 第一个bug:
  • 问题描述:
  • 原因分析:
  • 解决方案:
  • 第二个bug:
  • 问题描述:
  • 原因分析:
  • 解决方案:
  • 第三个bug:
  • 问题描述:
  • 原因分析:
  • 解决方案:


第一个bug:

问题:我原本偷懒,不想一个一个复制内容,所以用了excel转json工具,想直接转成json,用代码读取。但是第一次运行,就报错了。我用的工具是excel2json。有感兴趣的小伙伴可以去试一试。下载里面的zip格式文件,解压就可以直接用哦。
最新版下载链接.github源码下载地址.


问题描述:

遇到的问题:

今天在读取json文件的时候,遇到报错。因为json文件不是用JsonUtility函数写入,而是用别的插件,把excel表转成的,所以出现了意料之外的报错。下面是报错信息和截图

报错信息:JSON must represent an object type:

excel文件转byte数组 java excel转json java_c#


原因分析:

json有自己的语法规则。必须保存在大括号内。我的恰好在外面是个中括号。

excel文件转byte数组 java excel转json java_json_02

excel文件转byte数组 java excel转json java_excel文件转byte数组 java_03


解决方案:

提示:这里填写该问题的具体解决方案:
例如:新建一个 Message 对象,并将读取到的数据存入 Message,然后 mHandler.obtainMessage(READ_DATA, bytes, -1, buffer).sendToTarget();换成 mHandler.sendMessage()。

第二个bug:

就当我喜滋滋的以为好了时,然而第二个bug立刻无缝衔接出现了!


问题描述:

遇到的问题:

根据提示,说我缺少对象成员的名称。

报错信息:JSON parse error: Missing a name for object member.:

excel文件转byte数组 java excel转json java_excel文件转byte数组 java_04


原因分析:

json的文件里的格式缺少必要的一些修改。


解决方案:

像下面一样,加上大括号、名字、引号和冒号就可以了。我只截图了上半部分的括号,大括号的下半部分要记得在后面加上啊。名字是加的包装了list类的字段名。

excel文件转byte数组 java excel转json java_json_05


excel文件转byte数组 java excel转json java_c#_06

第三个bug:

问题:虽然改成上面的样子了,原来的没报错。但又又又有新的问题出现了。


问题描述:

如图,运行后一直报空值,脚本指向foreach里的steps。:

excel文件转byte数组 java excel转json java_visualstudio_07

excel文件转byte数组 java excel转json java_c#_08


原因分析:

原因:

千万不要以为是真的是空值造成的。原来我new了空间分配给steps。但是没用。其实是因为我序列化对应的类时,把Serializable写成了SerializeField。

excel文件转byte数组 java excel转json java_c#_09


解决方案:

改成Serializable改好就行啦