1. ホーム
  2. javascript

[解決済み] jQueryでJSONにシリアライズする [重複] [重複

2022-03-20 22:34:52

質問

必要なのは シリアライズ オブジェクトを JSON . 私が使っているのは jQuery . これを行うための標準的な方法はありますか?

私の具体的な状況 私は以下のように定義された配列を持っています。

var countries = new Array();
countries[0] = 'ga';
countries[1] = 'cd';
...

に渡すために、これを文字列に変換する必要があります。 $.ajax() このように

$.ajax({
    type: "POST",
    url: "Concessions.aspx/GetConcessions",
    data: "{'countries':['ga','cd']}",
...

解決方法は?

JSON-js - JSONをJavaScriptで表示します。

オブジェクトを文字列に変換するには JSON.stringify :

var json_text = JSON.stringify(your_object, null, 2);

JSONの文字列をオブジェクトに変換するには JSON.parse :

var your_object = JSON.parse(json_text);

で最近推奨されたものです。 ジョン・レシグ :

...ぜひ移行を開始してください JSONを使用するアプリケーションは Crockfordのjson2.jsです。これは完全に ECMAScript 5 と互換性があります。 仕様で、優雅にデグレードする ネイティブな(より高速な!)実装があれば が存在します。

実際、私は昨日jQueryの変更に着手したばかりで、その変更は JSON.parseメソッドが存在する場合、現在では が完全に指定されたことです。

JavaScriptに関しては、彼の言うことを信用する傾向があります :)

すべてのモダンブラウザ (そして、古くない多くの古いもの) は JSONオブジェクト をネイティブで使用することができます。CrockfordのJSONライブラリの現在のバージョンでは、以下のようにしか定義されません。 JSON.stringifyJSON.parse が定義されていなければ、ブラウザのネイティブな実装はそのままにしておきます。