ホームページ >ウェブフロントエンド >jsチュートリアル >JSONオブジェクトと文字列間の変換例を詳しく解説
開発プロセス中、少数のパラメータを前後に転送したい場合は、ajaxデータ関数を直接使用し、json形式で渡し、バックグラウンドリクエストを使用することができます。ただし、場合によっては、渡す必要があります。バックグラウンド
がそれを受け入れるように複数のパラメータを指定する必要があります。このとき、複数のリクエストをクラスまたはコレクションの形式で渡す必要があります。
例: フロントエンドは JSON オブジェクトをクラス形式で渡します:
var jsonUserInfo = "{\"TUserName\":\"" + userName + "\",\"TInterest\":\"" + interest + "\",\"TSex\":\"" + sex + "\",\"TCity\":\"" + city + "\",\"TDetail\":\"" + detail + "\"}";
スペルアウトされた jsonUserInfo にエスケープ記号がない場合、渡す前に var jsonArrayFinal = JSON.stringify(jsonArray); を変換する必要があります。
$.ajax( { type: "post", url: "ReceiveHandler1.ashx", data: { userInfo: jsonUserInfo, flag: "123456", key: "654321" }, dataType: "text", success: function(data) { $("#pShow").html(data); } });
フロントエンドがクラス形式、つまりコレクション型で複数の JSON 配列を渡す場合:
例:
[{"name":"a"},{"name","b"},{"name","c"}]
この場合、配列の変換には JSON.stringify を使用する必要があります。オブジェクトを文字列に変換し、AJAX を実行して渡すだけです。
たとえば、a を文字列に変換し、b を JSON オブジェクトに変換したいとします。
var a={"name":"tom","sex":"男","age":"24"}; var b='{"name":"Mike","sex":"女","age":"29"}';
Firefox、chrome、opera、safari、ie9 などの高度なブラウザでは、JSON オブジェクトを直接使用できます。 ie8 など。stringify() メソッドと parse() メソッド。
JSON.stringify(obj) は JSON を文字列に変換します。 JSON.parse(string) は文字列を JSON 形式に変換します。
上記の変換は次のように記述できます:
var a={"name":"tom","sex":"男","age":"24"}; var b='{"name":"Mike","sex":"女","age":"29"}'; var aToStr=JSON.stringify(a); var bToObj=JSON.parse(b); alert(typeof(aToStr)); //string alert(typeof(bToObj)); //object JSON.stringify()
ie8 (互換モード)、ie7 および ie6 には JSON オブジェクトがありませんが、www.json.org/ js.html json.js は、ie8 (互換モード)、ie7 および ie6 が JSON オブジェクトとその stringify() および parse() メソッドをサポートできるように提供されています。この js は github.com/douglascrockford/JSON-js で入手できます。 、現在は一般的に json2.js が使用されます。
ie8 (互換モード)、ie7 および ie6 は、eval() を使用して文字列を JSON オブジェクトに変換できます。
var c='{"name":"Mike","sex":"女","age":"29"}'; var cToObj=eval("("+c+")"); alert(typeof(cToObj));
jQuery には、文字列を JSON 形式に変換するメソッド jQuery.parseJSON (json) もあります。標準形式の JSON 文字列を変換し、解析された JavaScript (JSON) オブジェクトを返します。もちろん、興味があれば、jQuery 拡張機能を自分でカプセル化することもできます。 jQuery.stringifyJSON(obj) は JSON を文字列に変換します。
以上がJSONオブジェクトと文字列間の変換例を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。