7

オートコンプリート スクリプトを作成しようとしています。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"}] 
4

2 に答える 2

26

これを行う標準的な JavaScript の方法は、次を使用することJSON.parseです。

var myArray = JSON.parse(someJSONString);

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

var myArray = jQuery.parseJSON(someJSONString);

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

于 2013-07-21T00:54:56.333 に答える
15

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/jsonjQuery はとにかくこのように返します。

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

var JSONArray = $.parseJSON(rawJSON);
于 2013-07-21T02:01:05.180 に答える