尝试使用jquery解析下面的json输出,但我遇到的问题是尝试解析" pprice"例如" undefined"错误输出
{ "response": [ {"instances": [ { "instanceID": "000001", "instanceOS": "FreeBSD", "instanceVersion": "10.0", "instanceVendor": "rax", "instanceVendorID": "e28f50b0-7a94-4161-a758-36010c69c8ce", "instanceBit": "64", "instanceSize": "", "instanceEnable": "1", "instanceImg": "fbsd.png" } ], "pricing": [ { "pid": "000001", "pvendor": "rax", "pcpu": "1", "pram": "512MB", "pdisk": "20", "pprice": "0.022", "pband": "", "pssd": "" } , { "pid": "000002", "pvendor": "rax", "pcpu": "1", "pram": "1GB", "pdisk": "40", "pprice": "0.06", "pband": "", "pssd": "" } , { "pid": "000003", "pvendor": "rax", "pcpu": "1", "pram": "2GB", "pdisk": "80", "pprice": "0.12", "pband": "", "pssd": "" } ], "instances": [ { "instanceID": "000002", "instanceOS": "Amazon Linux", "instanceVersion": "2014.03.1", "instanceVendor": "aws", "instanceVendorID": "ami-fb8e9292", "instanceBit": "64", "instanceSize": "", "instanceEnable": "1", "instanceImg": "aws.png" } ], "pricing": [ { "pid": "000004", "pvendor": "aws", "pcpu": "1", "pram": "512MB", "pdisk": "20", "pprice": "0.02", "pband": "", "pssd": "" } , { "pid": "000005", "pvendor": "aws", "pcpu": "1", "pram": "1.7GB", "pdisk": "40", "pprice": "0.06", "pband": "", "pssd": "" } ] } ] }
可以成功解析实例参数" instanceOS,InstanceVendor"等等,但未定义任何内部"定价"阵列。
var flavors = $.parseJSON(data);
//DISPLAY ELEMENT
$('.distros_bx').fadeIn('slow');//
//FOREACH LOOP
$(flavors.response).each(function(i,el) {
var new_flavor = '<div class="os-id">' + el.instanceID + '</div><div class="os">' + el.instanceOS + '</div><div class="os-version">' + el.instanceVersion + '</div><div class="os-bit">' + el.instanceBit + '-bit</div><div class="prices_bx">' + el.pprice + '</div>';
$('.distros_bx').append(new_flavor);
});
JSON是有效的,但可能没有针对所需的结果进行格式化校正......提前致谢!
答案 0 :(得分:0)
这不是一个好的json,你的$(flavors.response).each
遍历了这个:
{
"response":[
{
"instances":[],
"pricing":[],
"instances":[],
"pricing":[]
}
]
}
您有重复的实例和定价键。此外,虽然instanceID
信息是在实例内部,但pprice
信息是内部定价
答案 1 :(得分:0)
在进入圈子2.5天之后决定这个json是荒谬的,所以选择了一个更简单的解决方案。现在使用两个单独的json结果集,一个用于实例,另一个用于定价。谢谢大家的帮助!