用JS原生的方法即可,不过没在JSON上看到数值啊,我帮你取到了数组,剩下的自己 *** 作下就可以了。
<!DOCTYPE html><html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<div id="box"></div>
<img name="text"></img>
<script>
var JosnInfo = {
"sites": [{
"title": "批次数量",
"Field": "pcsl",
"ReadOnly": "readonly='readonly'",
"Hidetd": "true",
"tdEvent": " onclick='openPC(this)'",
"tdClass": "tdspbh",
"txtAlign": ""
},
{
"title": "编号",
"Field": "spbh",
"ReadOnly": "readonly='readonly'",
"Hidetd": "false",
"tdEvent": " ",
"tdClass": "tdspbh",
"txtAlign": ""
},
{
"title": "名称",
"Field": "spmc",
"ReadOnly": "readonly='readonly'",
"Hidetd": "false",
"tdEvent": " onkeydown='SXZY(this)' ",
"tdClass": "tdspmc",
"txtAlign": ""
},
{
"title": "规格",
"Field": "ggxh",
"ReadOnly": "readonly='readonly'",
"Hidetd": "false",
"tdEvent": " onkeydown='SXZY(this)' ",
"tdClass": "tdggxh",
"txtAlign": ""
},
{
"title": "产地",
"Field": "spcd",
"ReadOnly": "readonly='readonly'",
"Hidetd": "false",
"tdEvent": " onkeydown='SXZY(this)' ",
"tdClass": "tdcd",
"txtAlign": ""
},
{
"title": "单位",
"Field": "spdw",
"ReadOnly": "readonly='readonly'",
"Hidetd": "false",
"tdEvent": " onkeydown='SXZY(this)' ",
"tdClass": "tddw",
"txtAlign": "text-align:center"
},
{
"title": "数量",
"Field": "spsl",
"ReadOnly": "",
"Hidetd": "false",
"tdEvent": " onpaste='return false' onkeydown='return check(event)' onkeydown='SXZY(this)' onblur='sl_onblur(this)' ",
"tdClass": "tdsl",
"txtAlign": "text-align:right"
},
{
"title": "单价",
"Field": "spdj",
"ReadOnly": "",
"Hidetd": "false",
"tdEvent": " onpaste='return false' onkeydown='return check(event)' onkeydown='SXZY(this)' onblur='dj_onblur(this)'",
"tdClass": "tddj",
"txtAlign": "text-align:right"
}
]
}
JosnInfo = JSON.stringify(JosnInfo)
var text = JSON.parse(JosnInfo)
console.log(text.sites)
</script>
</body>
</html>
你这里的jsonstr本身就已经是对象了,而json只是字符串,也就是说对方传递过来的字符串而已。应该写成
var jsonStr = "{qiyi:'mp4',tudou:'3gp',youku:'mp4'}"
这样可以表示jsonStr是一个字符串,而现在要jsonStr去执行一下就可以了!
如:
var c = eval(jsonStr)
然后就可以调用了!如c.qiyi等等。不过这里不太好理解的,eval就是将jsonStr字符串当指令执行了,将执行结果传递给c而已。换一句方式可能会更好的理解的!
eval(" var c = "+jsonStr+"")
也就是说重新组合一个语句,这样可以直接使用c.qiyi了!
但其实是一样的道理的,只不过很少人会用到第二种!因为如果eval没有顺利执行时,第二种会出现错误,而第一种则会出现undefined的结果,第一种与第二种的区别就是不管是否空值,第一种c对象是存在的!而第二种却未必见得!第二种方案下,执行了一个语句,然后就感觉“凭空”开始使用一个对象了!然后这样虽是不好,其中是说明下边的语句都依赖于eval这样的一个细节语句,所以不是很多的!
也就是说:
var c = eval("{qiyi:'mp4',tudou:'3gp',youku:'mp4'}")
就是将json执行后的结果。由此可以看出你对数据传递上还有些不理解的!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)