我正在开发一个纯粹的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
没有任何效果。非常感谢任何帮助
答案 0 :(得分:0)
这应该有效:
var ip;
if(xyz.addresses){
ip = (xyz.addresses.Network1 || xyz.addresses.VMNetwork)[0].ip;
}
基本上,如果xyz
具有addresses
属性,请尝试获取其中一个网络,并获取ip
属性。