一、问题描述
使用 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 数据不完整内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
来源链接:https://www.jb51.net/javascript/292880zyi.htm
© 版权声明
本站所有资源来自于网络,仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您(转载者)自己承担!
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
如有侵犯您的版权,请及时联系3500663466#qq.com(#换@),我们将第一时间删除本站数据。
THE END
暂无评论内容