JSON.parse 数据不完整的解决方法
作者:yandype
本文主要介绍了JSON.parse 数据不完整的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
一、问题描述
使用 JSON.parse 反序列化,出现数据丢失现象。
字符串json数据:
{ "varImageList": [ { "variationValue": "Black ", "imageList": [ { "variationValue": "Black ", "image_base64": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/WF212761AAB/20210713_11ca63ca7457a70070587ee7f2b30e1b.jpg", "image_url": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/WF212761AAB/20210713_11ca63ca7457a70070587ee7f2b30e1b.jpg", "imageAddress": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/WF212761AAB/20210713_11ca63ca7457a70070587ee7f2b30e1b.jpg", "image_address": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/WF212761AAB/20210713_11ca63ca7457a70070587ee7f2b30e1b.jpg", "type": "image/jpeg" } ] }, { "variationValue": "Gray ", "imageList": [ { "variationValue": "Gray ", "image_base64": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/20211124_4559fbad3a4e4b5c3a8b2383135334a6.jpg", "image_url": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/20211124_4559fbad3a4e4b5c3a8b2383135334a6.jpg", "imageAddress": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/20211124_4559fbad3a4e4b5c3a8b2383135334a6.jpg", "image_address": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/20211124_4559fbad3a4e4b5c3a8b2383135334a6.jpg", "type": "image/jpeg" } ] }, { "variationValue": "Brown ", "imageList": [ { "variationValue": "Brown ", "image_base64": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/WF212761AAR/20210713_885a0dd07f764f10f8d4e565db4f215d.jpg", "image_url": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/WF212761AAR/20210713_885a0dd07f764f10f8d4e565db4f215d.jpg", "imageAddress": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/WF212761AAR/20210713_885a0dd07f764f10f8d4e565db4f215d.jpg", "image_address": "https://b2bfiles1.gigab2b.cn/image/wkseller/8658/WF212761AAR/20210713_885a0dd07f764f10f8d4e565db4f215d.jpg", "type": "image/jpeg" } ] } ] }
JSON.parse 序列化后结果:
{ "varImageList": [ { "variationValue": "Black", "imageList": [] }, { "variationValue": "Gray", "imageList": [] }, { "variationValue": "Brown", "imageList": [] } ] }
imageList 数据丢失。
使用 eval 反序列化,数据正常;
var json = eval('(' + strJson + ')');
二、产生原因
这是因为 JSON.parse 对 json字符串数据要求比较严格。像上面数据丢失原因,就是因为属性值后缀有空字符导致的。使用 trim() 方法去除两边空字符即可;
到此这篇关于JSON.parse 数据不完整的解决方法的文章就介绍到这了,更多相关JSON.parse 数据不完整内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
您可能感兴趣的文章:
- JSON.parse处理非标准Json数据出错的解决
- JSON.parse()和JSON.stringify()使用介绍
- 关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
- JSON.parseObject和JSON.toJSONString实例详解
- javascript中JSON.parse()与eval()解析json的区别
- JS使用JSON.parse(),JSON.stringify()实现对对象的深拷贝功能分析
- 详解关于JSON.parse()和JSON.stringify()的性能小测试
- JSON中key动态设置及JSON.parse和JSON.stringify()的区别
- 浅谈JSON.parse()和JSON.stringify()