怎么把json数组里的某一项的value转化为字符串格式

"[{"cnName":"学生1","enName":"student1","aliasName":"student","dataType":1,"description":"1","children":[{"cnName":"老师1","enName":"teather1","aliasName":"teather1","dataType":1,"description":"1","nodeKey":2},{"cnName":"老师2","enName":"teather2","aliasName":"teather2","dataType":2,"description":"2","nodeKey":3}],"nodeKey":1}]"
比如把里面的dataType的value那个1 转化为字符串
5块钱了 速度了

先把json转数组,for循环后直接.dataType就有了
var jsonObj = JSON.parse(jsonStr)
console.log(jsonObj)
var jsonStr1 = JSON.stringify(jsonObj) console.log(jsonStr1+"jsonStr1")
var jsonArr = [];
for(var i =0 ;i < jsonObj.length;i++){
jsonArr[i] = jsonObj[i];
}
console.log(typeof(jsonArr))
那个说php简直来搞笑的
这种问题感觉在网上百度一下到处都是答案,还有花钱,上面代码就是百度的追问

大神 能把我上面写的json转化写一下么?

追答

代码不是写了吗 JSON.parse(jsonStr),直接上网百度一下什么意思,或者直接用上面的代码,返回结果不是都打印了吗

追问

不管用 这种方法只能改变这个json数组的key value的类型改变不了

追答

你要干嘛,是为了传值到后台么。js数组里面是没有int数据类型,都是object,非要转字符的话 +“”就是字符串了。js是弱数据类型语言没有强制的数据类型定义

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-11-28
什么语言来进行这个操作,要是php的话我还是可以帮你一下追问

js的大兄弟

追答

var strJson = "[{"cnName ":"学生1 ","enName ":"student1 ","aliasName ":"student ","dataType ":1,"description ":"1 ","children ":[{"cnName ":"老师1 ","enName ":"teather1 ","aliasName ":"teather1 ","dataType ":1,"description ":"1 ","nodeKey ":2},{"cnName ":"老师2 ","enName ":"teather2 ","aliasName ":"teather2 ","dataType ":2,"description ":"2 ","nodeKey ":3}],"nodeKey ":1}]";
var objJson = JSON.parse(strJson); //先转对象
var childrenJson = objJson.children; //取出你要格式化的集合
for (var key in childrenJson) {
for (var k in childrenJson[key]) {
if (k === "dataType") {
childrenJson[key][k] = childrenJson[key][k].tostring();
}
}
}
这样应该可以吧,但是你这个json串好像有问题?

本回答被提问者采纳