ホームページ >ウェブフロントエンド >jsチュートリアル >JSON オブジェクトと文字列間の解析と変換
この記事では主に JSON オブジェクトと文字列間の変換について詳しく説明します。必要な方はぜひ参考にしてください。フロントエンドとバックエンドの転送には、ajax data関数を直接使用するか、json形式で渡すか、バックグラウンドリクエストを使用することができますが、場合によっては複数のパラメータを渡す必要があるため、面倒です。バックグラウンド
が受け付ける場合は、クラス形式またはコレクション形式で渡される指示に従います。
例: フロントエンドは JSON オブジェクトをクラス形式で渡します:
var jsonUserInfo = "{"TUserName":"" + userName + "","TInterest":"" + Interest + "","TSex": " " + sex + "","TCity":"" + city + "","TDetail":"" + 詳細 + ""}";
jsonUserInfo がエスケープ記号なしで綴られている場合、var jsonArrayFinal = JSON渡す前に .stringify(jsonArray);convert が必要です。
次のようにコードをコピーします:
ReceiveHandler1.ashx",
data: { userInfo: jsonUserInfo, flag : "123456"、キー: " 654321" }、
データ型: "テキスト"、 ️ ; JSON 配列、つまりコレクション型:
例:
[{"name":"a"},{"name","b"},{"name","c"}],渡すことはできません。現時点では、JSON.stringify を使用して配列オブジェクトを文字列に変換し、それを AJAX 経由で渡す必要があります。
たとえば、a を文字列に変換し、b を JSON オブジェクトに変換したいとします。
var a={"name":"tom","sex":"male","age" :"24"};
var b='{"name":"Mike","sex":"女","age":"29"}';
Firefox、Chrome、Opera、Safari、IE9 の場合、ie8 およびその他の高度なブラウザでは、JSON オブジェクトの stringify() メソッドと parse() メソッドを直接使用できます。
var a={"name":"tom","sex":"male","age":" 24 "};
var b='{"name":"マイク","性別":"女","年齢":"29"}';var aToStr=JSON.stringify(a);
var bToObj = JSON.parse(b); //stringalert(typeof(bToObj)); //object
http://www.json.org/js.html
は、ie8 (互換モード)、ie7、ie6 が JSON オブジェクトとその stringify() および解析をサポートできるように json.js を提供します。 () メソッド; この js は http://www.php.cn/ で入手できます。現在は一般的に json2.js が使用されます。
ie8 (互換モード)、ie7 および ie6 は、eval() を使用して文字列を JSON オブジェクトに変換できます。
var c='{"name":"Mike","sex":"girl","age " :"29"}';
var cToObj=eval("("+c+")");
alert(typeof(cToObj));