【发布时间】:2012-06-23 21:22:29
【问题描述】:
我在 ASP.NET 页面上使用 JQuery 创建脚本。有一个如下所示的 JSON 字符串:
<input id="hfImages" type="hidden" value="[
{"ProductID": "000001",
"Small": "http://myimages.com/images/I/75.jpg",
"Medium": "http://myimages.com/images/I/160.jpg",
"Large": "http://myimages.com/images/I/320.jpg",
"Thumb": "http://myimages.com/images/I/30.jpg"},
{"ProductID": "000002",
"Small": "http://myimages.com/images/I/75ab.jpg",
"Medium": "http://myimages.com/images/I/160j.jpg",
"Large": "http://myimages.com/images/I/320y.jpg",
"Thumb": "http://myimages.com/images/I/30ii.jpg"},
{"ProductID": "000003",
"Small": "http://myimages.com/images/I/75.jpg",
"Medium": "http://myimages.com/images/I/160.jpg",
"Large": "http://myimages.com/images/I/320.jpg",
"Thumb": "http://myimages.com/images/I/30.jpg"}
]"/>
我从这个字符串创建一个对象:
var images = $.parseJSON($("#[id*='hfImages']").val());
有一个名为ProductID 的变量,其中包含我需要从这个 JSON 字符串中获取的“ProductID”的值,但我不知道该怎么做。最终(一旦我从这个字符串中检索到正确的数据),我希望能够做这样的事情:
$("#productImages img.small").src(image[0].Small)
$("#productImages img.medium").src(image[0].Medium)
$("#productImages img.large").src(image[0].Large)
$("#productImages img.thumb").src(image[0].Thumb)
我已经看到循环遍历 JSON 对象直到找到所需“密钥”的示例,但我认为使用 .filter 或 .map 可以更简单地执行此操作?
我对 Javascript/JQuery 和 JSON 非常陌生。 似乎我有一个名为“ProductID”的键,但我正在阅读的所有内容都不是指一个键。好像,名称/值中的每个名称都被视为一个键。
我很难找到一个很好的例子来说明如何做到这一点,这可能与我不知道这里所涉及的所有内容的正确术语有关。
鉴于所需的 ProductID 以字符串形式存储在 var ProductId 中,有人可以在 JQuery 中向我展示如何从上述 JSON 中获取对象的示例吗? (var ProductID = "000002";)
我也很感激任何指向 JSON 和 JQuery 的良好参考的链接。我去过 json.org 和其他几个网站,但就我的知识水平而言,它们并不是很有帮助。 :S
【问题讨论】:
-
不要忘记在 html 属性中对 JSON 进行转义