js怎样读取json中json数据

js怎样读取json中json数据,第1张

var json = {  contry:{ area:{ man:"12万",  women:"10万" } } }

//方式一:使用eval解析  

var obj = eval(json)  

alert(obj.constructor)

alert(obj.contry.area.women)  

 

//方式二:使用Funtion函数  

var strJSON = "{name:'json name'}"//得到的JSON  

var obj = new Function("return" + strJSON)()//转换后的JSON对象  

    alert(obj.name)//json name  

    alert(obj.constructor)

       

//复杂一点的json数组数据的解析  

var value1 = [{"c01":"1","c02":"2","c03":"3","c04":"4","c05":"5","c06":"6","c07":"7","c08":"8","c09":"9"}, {"c01":"2","c02":"4","c03":"5","c04":"2","c05":"8","c06":"11","c07":"21","c08":"1","c09":"12"}, {"c01":"5","c02":"1","c03":"4","c04":"11","c05":"9","c06":"8","c07":"1","c08":"8","c09":"2"}]   var obj1 = eval(value1)  

alert(obj1[0].c01) 

 

//复杂一点的json的另一种形式  

var value2 = {"list":[ {"password":"1230","username":"coolcooldool"}, {"password":"thisis2","username":"okokok"}], "array":[{"password":"1230","username":"coolcooldool"},{"password":"thisis2","username":"okokok"}]}  

 

var obj2 = eval(value2)  

alert(obj2.list[0].password)

如果要使用js读取json文件,那么ajax *** 作是必须的了。原生ajax有点麻烦,我想你们项目一定用了什么js库,这里给个jquery的例子:

$.get('xx.json路径', function(data){

    alert(data) // data即为json文件内容里的json数据

}, 'json')

如果把这个文件的内容读取为纯文本,可以修改$.get的最后一个参数json为text,或者删掉这个参数,默认也是text。

乱码可能是你显示的问题【读的是时候产生的乱码】,通过指定显示页面的编码而变回正常的文字,也有可能是文件本身存在乱码【也就是这个文件存的时候产生的乱码,这种是比较麻烦的,很可能没法还原了】。通常是gba和utf-8之间的转换原因造成的,当然也有可能是其他编码。

你先要取得json的字符串。然后可以用evel函数来将字符串转成json对象就可以用了。关于evel的用法你可以百度一下,这里面说起来复杂。

另外你这里是一个xml文件里面的json数据,你需要先把xml里面的节点读出来。然后在把读出来的json文本编程json对象。既然用了xml,还用json干嘛。通常用xml就不用json了,json用来在多个程序之间传递数据用,而xml通常用来存储成文件形式。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12113108.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存