web-dev-qa-db-ja.com

jQuery JSONデコード(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"}] 
6

これを行う標準のJavaScriptの方法は JSON.parse

var myArray = JSON.parse(someJSONString);

組み込みのJSONオブジェクトを持たない古いブラウザとの互換性のために、jQueryには 独自のメソッド があります。

var myArray = jQuery.parseJSON(someJSONString);

そのようなメソッドは、jQuery/3.0で非推奨になりました。

22
icktoofay

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のもう1つの方法は$.parseJSON(rawJSON);を使用することですが、dataTypeを使用している場合は、これを行う必要はありません。

_var JSONArray = $.parseJSON(rawJSON);
_
13
Mark Hughes