通过 JSON.parse 将你的 JsonInfo 的字符串类型的变量转为 js 对象:var jsonObj = JSON.parse(jsonStr)
看到 json 字符串里的中括号了没有?这个对象名为 sites 的 key 对应的 value 是一个数组,也就是 sites[0],sites[1]...你可以理解为 jsonObj 的 sites 就是一个数组名,所以也就具备了 length 这个属性。
接着可以循环这个数组,找出数组中的对象的 title 属性为"数量"的那个数组对象即可。
别说什么就没有看懂网上的资料,不知道你认真看了没有。认真看不可能看不懂的,一遍不行看两遍,两遍不行看三遍。就是把一个普通的对象换成了数组,就不认识了吗。
var jsonStr = '{"sites":
[
{"title":"数量", "ReadOnly":"true"},
{"title":"单位", "ReadOnly":"false"}
] }'
function getReadOnly() {
var jsonObj = JSON.parse(jsonStr)
var amountReadOnly
var sitesLength = jsonObj.sites.length
for (var i = 0 i < sitesLength i++) {
if (jsonObj.sites[i].title === "数量") {
amountReadOnly = jsonObj.sites[i].ReadOnly
break
}
}
return amountReadOnly
}
getReadOnly()
乱码可能是你显示的问题【读的是时候产生的乱码】,通过指定显示页面的编码而变回正常的文字,也有可能是文件本身存在乱码【也就是这个文件存的时候产生的乱码,这种是比较麻烦的,很可能没法还原了】。通常是gba和utf-8之间的转换原因造成的,当然也有可能是其他编码。你先要取得json的字符串。然后可以用evel函数来将字符串转成json对象就可以用了。关于evel的用法你可以百度一下,这里面说起来复杂。
另外你这里是一个xml文件里面的json数据,你需要先把xml里面的节点读出来。然后在把读出来的json文本编程json对象。既然用了xml,还用json干嘛。通常用xml就不用json了,json用来在多个程序之间传递数据用,而xml通常用来存储成文件形式。
js要组合其他程序才能获取数据库中的数据吧然后使用以下两种方法之一把json转为object使用
<script>
var b = '{"t": 0, "b": "adfjierg"}'
try{
var a = (new Function('return' + b))()
document.write(typeof(a))
}catch(e){
document.write('error')
}
var c=eval('('+b+')')
document.write(typeof(c))
</script>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)