Javascript检查json是否为空,如果不为null则解析值

时间:2015-04-13 14:41:47

标签: javascript json parsing

我正在开发一个纯粹的javascript项目,没有涉及jquery,我现在陷入关键时刻了。我有一个json,它可以是空的,或者当有值时我必须提取ip。

var xyz = {} or
var xyz = {"Network1":[{"ip":"172.17.44.59","OS-EXT-IPS-MAC:mac_addr":"fa:16:3e:56:eb:fd","version":4,"OS-EXT-IPS:type":"fixed"}]} or
var xyz = {"VMNetwork":[{"ip":"172.17.44.59","OS-EXT-IPS-MAC:mac_addr":"fa:16:3e:56:eb:fd","version":4,"OS-EXT-IPS:type":"fixed"}]}

json cab是空的,或者它可以是第二个或第三个

中的任何一个

我在这里遇到两个问题。如何检查它是空的,如果不是空的,如何获取ip的值。 (这里的问题是VMNetwork,Network1是系统生成的,因此代码不知道)

我试过

1. JSON.stringify(xyz)!='{}' 
2. Object.keys(xyz).length !== 0

没有任何效果。非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

这应该有效:

var ip;

if(xyz.addresses){
    ip = (xyz.addresses.Network1 || xyz.addresses.VMNetwork)[0].ip;
}

基本上,如果xyz具有addresses属性,请尝试获取其中一个网络,并获取ip属性。