JQuery GET与JSON响应。选择特定对象

时间:2016-06-07 14:47:16

标签: javascript jquery arrays json socrata

我正在开发一个简单的网络应用。这将让客户输入牌照,然后连接到基于Socrata的OpenData API,其中包含我所在国家/地区所有已注册汽车的记录。

使用车牌,必须找到正确的车,并显示具体信息。所显示的信息类型会有所不同,因为我打算在几个不同的网页上使用这个应用程序,但作为一个起点,我想展示汽车的品牌和型号。这些在数组中列为

"merk" : "KIA"
"handelsbenaming" : "PICANTO"

Merk' Merk'是品牌/制造商和' handelsbenaming'是模特。

我对javascript不是很有经验,对JQuery来说是全新的,但我设法得到了这个:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<script>
var kenteken = "1KBB00";

$(document).ready(function(){
    $("button").click(function(){
$.get("https://opendata.rdw.nl/resource/m9d7-ebf2.json",{kenteken: kenteken},function(data, status){
        alert("Data: " + data + " Status: " + status);});
 });
});

</script>
</head>
<body>

<button>Click</button>
</body>

如您所见,通过按下按钮可以触发JQuery。我稍后会输入一个输入字段来获取车牌号码,但为了测试目的,我只是定义了变量&#34; kenteken&#34;成为一个真正的车牌。同样出于测试目的,我想在警告框中返回响应。

测试时,Firefox中的控制台没有指出任何错误。我还可以看到GET请求,并返回一个JSON数组。但是,我无法让数组写入文档或警告框。目前,警报显示:

Data: [object Object] Status: success

然而,据我所知,&#39;数据&#39;应该显示GET请求返回的整个JSON数组

我使用Google,多次阅读API附带的文档,我已经阅读了SO上的更多帖子,但我还没有记住,但我没有得到它。

2 个答案:

答案 0 :(得分:1)

当您获得数据时,它会以字符串形式出现。

使用JSON.Parse(数据)将其转回JSON对象,你应该让它看起来正确。在警报之前放置断点,然后您可以检查返回的内容以及json方法的作用。

$.get("https://opendata.rdw.nl/resource/m9d7-ebf2.json",{kenteken: kenteken},function(data, status){
        debugger;
        var jsonData = JSON.Parse(data);
        alert("Data: " + jsonData + " Status: " + status);});
 });

答案 1 :(得分:1)

响应不是单个对象,它是一个对象数组,因此您需要对它们编制索引以访问属性。我在下面展示如何访问第一个,但在你的真实代码中你可能会循环。

data