我正在尝试制作一个自动完成脚本。我通过JSON传递变量,然后我不知道如何继续解码JSON。
这是我得到的JSON代码的一个示例,我想将其转换为一个简单的javascript数组:
[{"ID":"1","name":"Amateur astronomy 'r"},{"ID":"2","name":"Amateur microscopy 'r"},{"ID":"173","name":"Amateur radio 'r"},{"ID":"299","name":"Amateur astronomy 'r"},{"ID":"349","name":"Amateur theater 'r"}]
实现这一点的标准JavaScript方法是使用JSON.parse
:
var myArray = JSON.parse(someJSONString);
为了与缺少内置JSON
对象的旧浏览器兼容,jQuery有自己的方法:
var myArray = jQuery.parseJSON(someJSONString);
从jQuery/3.0开始,这种方法已被弃用。
JavaScript的标准方法是使用JSON.parse
:
var myObject = JSON.parse( rawJSON );
如果您将jQuery与$.ajax
(或可选)一起使用,则可以使用dataType: 'json'
$.ajax({
type: 'GET',
url: 'request.php',
data: { variable: 'value' },
dataType: 'json',
success: function(data) {
// you can use data.blah, or if working with multiple rows
// of data, then you can use $.each()
}
});
尽管如此,如果您的服务器发送回标头Content-Type: application/json
jQuery,无论如何都会像这样返回它。
尽管jQuery的另一种方法是使用$.parseJSON(rawJSON);
,但如果您使用的是dataType,则不必这样做。
var JSONArray = $.parseJSON(rawJSON);