jQuery JSON Decode ( PHP to Javascript)


jQuery JSON Decode ( PHP to Javascript)

我正在尝试制作一个自动完成脚本。我通过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/jsonjQuery,无论如何都会像这样返回它。

尽管jQuery的另一种方法是使用$.parseJSON(rawJSON);,但如果您使用的是dataType,则不必这样做。

var JSONArray = $.parseJSON(rawJSON);