我有一个已转换为下面列出的json的xml文件。我一直试图弄清楚如何从每个属性中检索-Name和-Value而没有运气。我猜我需要创建一个等于jsonobj.Media.Attribute [i]的子对象,但是一旦我这样做就无法访问-Name或-Value。有什么建议?
jsonobj= {
"Media": {
"Attribute": [
{
"-Name": "Keywords",
"-Value": "keyword value"
},
{
"-Name": "Title",
"-Value": "title value"
},
{
"-Name": "Description",
"-Value": "description value"
},
{
"-Name": "Author",
"-Value": "author value"
},
{
"-Name": "Copyright",
"-Value": "copyright value"
}
]
}
};
答案 0 :(得分:2)
这将提醒您正在寻找的所有值:
var list = jsonobj.Media.Attribute
for(index in list)
{
var obj = list[index];
var name = obj["-Name"];
var value = obj["-Value"];
alert(name);
alert(value);
}
答案 1 :(得分:1)
迭代jsonobj.Media.Attribute并使用[' -Name']检索值
for(var i = 0; i < jsonobj.Media.Attribute.length ; i++)
{
var attr = jsonobj.Media.Attribute[i]
alert(attr["-Name"]);
alert(attr["-Value"]);
}
答案 2 :(得分:0)
您不能在代码中使用-
,因为它是一个运算符,JS不会将其识别为方法。
要解决您的问题,您可以使用其他方式访问属性。
否则你的代码:
jsonobj.Media.Attribute[i].-Name
您可以使用:
jsonobj.Media.Attribute[i].["-Name"]
一个例子来自呼叫的相同内容:
jsonobj.["Media"].Attribute[i].["-Name"]
答案 3 :(得分:0)
无法识别关键属性。说不能读取undefined的属性'Attribute'。