JSON オブジェクトと文字列間の解析と変換

高洛峰
リリース: 2017-02-17 16:42:11
オリジナル
927 人が閲覧しました

この記事では主に JSON オブジェクトと文字列間の変換について詳しく説明します。必要な方はぜひ参考にしてください。フロントエンドとバックエンドの転送には、ajax data関数を直接使用するか、json形式で渡すか、バックグラウンドリクエストを使用することができますが、場合によっては複数のパラメータを渡す必要があるため、面倒です。バックグラウンド

が受け付ける場合は、クラス形式またはコレクション形式で渡される指示に従います。

例: フロントエンドは JSON オブジェクトをクラス形式で渡します:


var jsonUserInfo = "{"TUserName":"" + userName + "","TInterest":"" + Interest + "","TSex": " " + sex + "","TCity":"" + city + "","TDetail":"" + 詳細 + ""}";

jsonUserInfo がエスケープ記号なしで綴られている場合、var jsonArrayFinal = JSON渡す前に .stringify(jsonArray);convert が必要です。


次のようにコードをコピーします:

$.ajax(

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() メソッドを直接使用できます。

JSON.stringify(obj) は JSON を文字列に変換します。 JSON.parse(string) は文字列を JSON 形式に変換します。

上記の変換は次のように記述できます:

var a={"name":"tom","sex":"male","age":" 24 "};

var b='{"name":"マイク","性別":"女","年齢":"29"}';

var aToStr=JSON.stringify(a);

var bToObj = JSON.parse(b); //string

alert(typeof(bToObj)); //object

JSON.stringify()

ie8 (互換モード) JSON オブジェクトはありませんが、

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));

jQueryには文字列をJSON形式に変換するメソッドもあります jQuery.parseJSON( json )、標準形式の JSON 文字列を受け入れ、解析された JavaScript (JSON) オブジェクトを返します。もちろん、興味があれば、jQuery 拡張機能を自分でカプセル化することもできます。 jQuery.stringifyJSON(obj) は JSON を文字列に変換します。

JSON オブジェクトと文字列の解析と変換に関連するその他の記事については、PHP 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート