js中json循环将键值为数组或json转换为字符串
JavaScipt
2023-07-29 20:38:45
json格式数据是开发中常见的一种数据格式,通过对键名键值的定义使数据可读性更强。
在和后端数据交互中也经常会用到json格式数据,但如果多层json数据嵌套提交就会报错。那么如果我们提交的数据有多层json嵌套,要如何处理数据才可以正常提交呢?
这里就需要用到json数据的循环和JSON.stringify。
即对json数据循环,判断格式为json或数组的数据进行JSON.stringify格式化后再进行提交。
代码如下:
<script>
let e = {'name':{'w':'2'}}
for (let item in e) {
if(typeof e[item] == 'object'){
e[item] = JSON.stringify(e[item])
}
}
console.log(e)
//打印结果
//{'name':"{'w':'2'}"}
</script>
如上,使用for in语法对json数据进行循环。循环后获取类型为object的数据通过使用JSON.stringify进行转换后,再从新赋值给对应键名。
js中typeof可以返回数据的类型,但不足的是当你数据为json或数组格式时,反馈的类型均为object。
即typeof反馈的数据类型,不能分辨出json和数组两种类型。

886篇文章
1275人已阅读