我从JSP
获得了JSON对象数组"Titles":[
{
"Book3" : "BULLETIN 3"
}
,
{
"Book1" : "BULLETIN 1"
}
,
{
"Book2" : "BULLETIN 2"
}
]
在JS方面,它被解析,我看到一个包含3个对象的数组。 现在,我想在传递String键时找到/识别一个值。
例如当我通过“Book2”时,我应该得到“BULLETIN 2”的价值。 有人可以帮我确定方法吗?
答案 0 :(得分:8)
试试这个
dumpToSysErr

答案 1 :(得分:4)
要实现这一点,你必须循环遍历数组元素的键并测试数组中是否存在给定键,如果是,则获取其值:
var jsonTitles = [
{ "Book3" : "BULLETIN 3" },
{ "Book1" : "BULLETIN 1" },
{ "Book2" : "BULLETIN 2" }
]
function getValue(key, array) {
for (var el in array) {
if (array[el].hasOwnProperty(key)) {
return array[el][key];
}
}
}
alert(getValue("Book1", jsonTitles));
我们使用element[key]
element is array[el]
来获取给定key
的值。
答案 2 :(得分:1)
让我们创建一个函数来获取数组中的对象,它接受两个参数:数组和要获取的属性的键:
function getObjectInArray(arr, key) {
for (var i = 0; i < arr.length; i++) {
if (arr[i].hasOwnProperty(key)) return arr[i][key];
}
}
循环遍历每个对象以查找该特定键。
解决方案:现在您可以执行getObjectInArray(titlesJSONArray, "Book2")
之类的操作,并返回“公告2”。
var titlesJSONArray = [ { "Book3": "BULLETIN 3" }, ... ]; // and so on
var book2 = getObjectInArray(titlesJSONArray, "Book2"); // => "BULLETIN 2"
答案 3 :(得分:1)