通过递归调用,来实现对转换对象Object的深层value进行遍历。
利用array的join方法实现最终的字符串拼接。
可直接在浏览器运行如下代码
运行结果
本文的JSON.stringify()方法的原生JS实现属于对javascript灵活应用的基本功。
实现思路来自于笔者平日的工作与思考的总结。
希望大家都能掌握以便在面试中脱颖而出。
有需要前端学习资料的同学可以私行我“学习”,获取学习资料一起交流学习
如果要使用js读取json文件,那么ajax操作是必须的了。原生ajax有点麻烦,我想你们项目一定用了什么js库,这里给个jquery的例子:
$.get('xx.json路径', function(data){
alert(data)// data即为json文件内容里的json数据
}, 'json')如果把这个文件的内容读取为纯文本,可以修改$.get的最后一个参数json为text,或者删掉这个参数,默认也是text。
js调用json?好抽象的说法,我按照我的理解写点东西吧,希望对你有点用处,
var question = {
"questions1":[{"number":"1","subject":"choose one bus","answer":"bus1"},
{"number":"2","subject":"get one pen","answer":"pen1"},
{"number":"3","subject":"take one apple","answer":"apple1"}
],
"questions2":[{"number":"5","subject":"have one cake","answer":"cake1"},
{"number":"6","subject":"yes or no","answer":"yes"},
{"number":"7","subject":"understand one or two","answer":"two"}
],
}上面这些就是一个js的json变量声明,js取上面json的值的方式如下
question.questions1[1].number的值是2,取值对应是question代表json变量名,questions1[1]表示上面json中第一个数组questions1的第二个值 {"number":"2","subject":"get one pen","answer":"pen1"},
number就是取其中的number的值,可以看到值是2。以上就是js中对json变量中的取值形式是如何的,修改某个地方的值直接用赋值方式如question.questions2[0].number = 11,就会把上面的json中的questions2中的第一排number为5的值改为11