今天对接口时遇到了个问题,就是后端将数据通过json方式传输到前端时,前端也拿到了数据如下:
但是这个时候就出现了问题,我发现无法将数据转换成数组,刚开始以为是反斜杠的问题,也做过尝试,结果还是没有解决。让我都开始怀疑是不是JSON.parse()的问题了,然后自己创建了一个数组转成JSON字符串与获取到的值一一比对也没发现啥问题。创建的数组及字符串如下:
实在没法,我就把上面的datas里面的数据也放到一个字符串中和arr1进行比对,最后选择了几个参数作为一个新的字符串:这三个参数的类型不相同。
经过一对一的比对终于发现了问题的所在:存在null的json字符串无法转成数组。
解决办法:通过let newstr=str.replace(a,‘b’);将所有的null转换成空字符串(如果需要null也可以转换成null字符串),这里说一下replace的参数,str(转换前的字符串/需要转换的字符串),括号里面分为两个参数,其中a(需要替换的参数)、b替换成的参数。如果a不加全局的g的话就只替换一个,所以这里要使