body = eval(response.body.replace("null", "None")).get("servers")
servers = {}
for b in body:
print "*"*50
ip_keys = b["addresses"].keys()
try:
for ip_key in ip_keys:
for address_ip in b["addresses"][ip_key]:
if address_ip["OS-EXT-IPS:type"] == "fixed":
print address_ip["addr"]
b.update({"ip_addr":address_ip["addr"]})
raise ValueError
except:
continue
all_servers = {"servers":body}
return all_servers
json 前端:
function groupby_network(){
$.ajax({
url:"/api",
type:"POST",
data:"type=instance_list_with_network",
success:function(t){
debugger;
var json_list = sortByKey(t.servers, "ip_addr");
instance_list_handler({"servers":json_list});
}
})
}
function sortByKey(array, key) {
return array.sort(function(a, b) {
var x = a[key]; var y = b[key];
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
});
}