{
"page": {
"id": 220,
"parentId": 196,
"property": {
"1": {
"name": "h1",
"value": "value i dont need",
},
"2": {
"name": "tags",
"value": "value i dont need",
},
"3": {
"name": "description",
"value": "value i need",
},
}
问题是:如果属性的ID(在我的情况下为“3”)动态变化,我怎么能得到“我需要的价值”? 所以,我不能只使用
data.page.property[3].value
不过,我正在使用jquery。
谢谢!
- 由于误解而编辑
答案 0 :(得分:2)
要获取特定值按名称,您可以使用以下功能:
function getValue( name ) {
var val = '';
$.each(data.page.property, function(k,v) {
if( v.name == name ) {
val = v.value;
return false;
}
});
return val;
};
console.log( getValue( "description" ) ); //output: value i need
console.log( getValue( "tags" ) ); //output: value i dont need
console.log( getValue( "h1" ) ); //output: value i dont need
答案 1 :(得分:2)
如果它将成为来自某个服务器的随机对象,那么只需要迭代该对象并比较您需要的对象,
for(i in data.page.property)
{
if(data.page.property[i].value && data.page.property[i].value === "your value")
// do your stuff
}
答案 2 :(得分:1)
迭代property
- 数组,直到找到value
字段。然后阅读
答案 3 :(得分:0)
var prop = data.page.property
for(k in prop)
{
if(prop[k].name == 'name you are interested')
var v = prop[k].value || someDefaultValue;
// do something about v
}
答案 4 :(得分:0)
纯Javascript代码
for (var k in json.page.property) {
var o = json.page.property[k];
if (o.value) alert(o.value); //Make sure it only alerts if there is value
}
答案 5 :(得分:0)
希望您需要的值是属性对象的最后一个成员,
var len = Object.keys(json.page.property).length;
var myValue =json.page.property[len].value ;
console.log(myValue); // prints "value i need"