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);