我正在尝试用谷歌API地理定位做一个实验。
我注意到JSON并不总是一样的:有时地址是属性的子级,有时不是。
例如,如果我想提取PostalCode的值,有时它是:
...SubAdministrativeArea.Locality.PostalCode.PostalCodeNumber
有时是:
...AdministrativeArea.DependentLocality.Locality.PostalCode.PostalCodeNumber
无法知道该值的确切路径。如何独立于其父项查找PostalCodeNumber的值?
在此处尝试inJSON插件:http://danconnor.com/search-for-a-key-in-json-with-jquery-$.injson.html
注意:我以为我看到jQuery被标记在这里了。你把它拿走了吗?还是我看到了什么?无论如何,将其转换为非jQuery是很容易的。这是一个简单的递归函数。
把这个放在JSFiddle上,让你尝试
function GetPropIn( obj, prop )
{
for( sProperty in obj )
{
if( obj.hasOwnProperty( sProperty ) )
{
if( sProperty == prop )
{
return( obj[sProperty] );
}
else
{
if( typeof(obj[sProperty]) == "object" )
{
var res = GetPropIn( obj[sProperty], prop );
if( res )
{
return( res );
}
}
}
}
}
}