jQuery JSON解码(PHP到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 ); 

如果您使用带有$.ajax或替代版 )的jQuery,则可以使用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);