オートコンプリートスクリプトを作成しようとしています。 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のもう1つの方法は$.parseJSON(rawJSON);
を使用することですが、dataTypeを使用している場合は、これを行う必要はありません。
_var JSONArray = $.parseJSON(rawJSON);
_