js中json循环将键值为数组或json转换为字符串

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和数组两种类型。

六月初字帖坊小程序 你想要的字帖模板及工具,这里都有!