ホームページ >ウェブフロントエンド >jsチュートリアル >JSON オブジェクトと strings_jquery 間の解析と変換
開発プロセス中に、少数のパラメータをフロントエンドとバックエンドに転送したい場合は、ajax の data 関数を直接使用し、それを json 形式で渡し、バックグラウンドリクエストを使用することができます。複数のパラメータを渡す必要があるため、背景
受け付ける際に複数のリクエストをリクエストするのは面倒ですが、この時クラスかコレクションの形で渡す必要があります。
例: フロントエンドは JSON オブジェクトをクラス形式で渡します:
var jsonUserInfo = "{"TUserName":"" userName "","TInterest":"" Interest "","TSex":"" sex "","TCity":"" city "","TDetail ":"" 詳細 ""}";
jsonUserInfo がエスケープ記号なしで記述されている場合、var jsonArrayFinal = JSON.stringify(jsonArray); を渡す前に変換する必要があります。
var a={"名前":"トム","性別":"男性","年齢":"24"};
var b='{"名前":"マイク","性別":"女性","年齢":"29"}';
Firefox、chrome、opera、safari、ie9、ie8 などの高度なブラウザでは、JSON オブジェクトの stringify() メソッドと parse() メソッドを直接使用できます。
JSON.stringify(obj) は JSON を文字列に変換します。 JSON.parse(string) は文字列を JSON 形式に変換します。
上記の変換は次のように記述できます:
var b= '{ "名前":"マイク","性別":"女","年齢":"29"}'; var aToStr=JSON.stringify(a); (b );
alert(typeof(aToStr)) //stringalert(typeof(bToObj));
JSON.stringify()
ie8 (互換モード)、ie7 および ie6 には JSON オブジェクトがありませんが、
http://www.json.org/js.html
は json.js を提供するため、ie8 (互換モード) 、IE7 と IE6 は JSON オブジェクトとその stringify() メソッドと parse() メソッドをサポートできます。この js は https://github.com/douglascrockford/JSON-js で入手できます。現在は通常 json2.js を使用しています。
ie8 (互換モード)、ie7 および ie6 は eval() を使用して文字列を JSON オブジェクトに変換できます。
var cToObj=eval("(" c ")"; ;
アラート(typeof(cToObj));jQuery には、文字列を JSON 形式に変換するメソッド jQuery.parseJSON(json) もあり、標準形式の JSON 文字列を受け入れ、解析された JavaScript (JSON) オブジェクトを返します。もちろん、興味があれば、jQuery 拡張機能を自分でカプセル化することもできます。 jQuery.stringifyJSON(obj) は JSON を文字列に変換します。