Javascript 在第一个响应时解析JSON数组
当JSON数组是JSON响应中返回的唯一内容时,我在解析JSON数组时遇到了一些困难 我知道当数组是json响应的子记录但不是唯一的响应时,如何解析它 例如,我知道如何处理data.streams.array[0].item,例如,但当其中没有“streams”部分时,我不确定该做什么(基本上它直接转到array[0] 下面是我尝试过的示例代码Javascript 在第一个响应时解析JSON数组,javascript,arrays,json,api,Javascript,Arrays,Json,Api,当JSON数组是JSON响应中返回的唯一内容时,我在解析JSON数组时遇到了一些困难 我知道当数组是json响应的子记录但不是唯一的响应时,如何解析它 例如,我知道如何处理data.streams.array[0].item,例如,但当其中没有“streams”部分时,我不确定该做什么(基本上它直接转到array[0] 下面是我尝试过的示例代码 $( document ).ready(function() { console.log( "ready to explore" ); $("#
$( document ).ready(function() {
console.log( "ready to explore" );
$("#getMessage").click(function(){
$("ul").empty();
$.getJSON("https://api.planningalerts.org.au/applications.js?key=<<KEY>>&postcode=2000", function(json){
var test2 = JSON.stringify(json);
alert(test2);
var test = json.address;
alert(test);
非常感谢您的帮助:)
干杯首先,你不需要解析任何东西;jQuery将在将其提供给回调之前对其进行解析。(因此,
json
可能不是一个很好的参数名称;可能是数据
或响应
或应用程序
)
要访问它的数据,您可以像其他JavaScript数组一样访问它(因为它就是这样)。例如,第一个条目是一个对象,其属性名为应用程序
,它指的是一个对象,其属性名为地址
,其值为“\'Harbor Plaza\'Lot 5,25-29 Dixon Street,Haymarket 2000”
。因此:
console.log(json[0].application.address); // "Harbour Plaza" Lot 5, 25-29 Dixon Street, Haymarket 2000
还有第二个条目,其地址是“2000年悉尼乔治街世界广场L10680”,因此:
console.log(json[1].application.address); // World Square L 10 680 George St, Sydney 2000
或者,例如:
json.forEach(function(entry) {
console.log(entry.application.address);
});
显示
Haymarket Dixon街25-29号“海港广场”地块5,2000年
2000年悉尼乔治街10680号世界广场
非常感谢:)我熟悉Jquery等,但我被它只返回数组而不是作为子集返回的事实弄糊涂了。
json.forEach(function(entry) {
console.log(entry.application.address);
});
"Harbour Plaza" Lot 5, 25-29 Dixon Street, Haymarket 2000
World Square L 10 680 George St, Sydney 2000