ホームページ  >  記事  >  ウェブフロントエンド  >  JSON オブジェクトと文字列の間の相互変換について説明します。 JSON.stringify(obj) および JSON.parse(string)_javascript 手法

JSON オブジェクトと文字列の間の相互変換について説明します。 JSON.stringify(obj) および JSON.parse(string)_javascript 手法

WBOY
WBOYオリジナル
2016-05-16 15:37:381273ブラウズ

Firefox、chrome、opera、safari、ie9、ie8 などの高度なブラウザでは、JSON オブジェクトの stringify() メソッドと parse() メソッドを直接使用できます。

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

var a={"name":"tom","sex":"男","age":"24"};
var aToStr = JSON.stringify(a);
alert(aToStr); //结果:{"name":"tom","sex":"男","age":"24"}
結果: 文字列

var b='{"name":"tom","sex":"男","age":"24"}';
var aToObj = JSON.parse(b); 
console.log(aToObj); //结果:Object {name: "tom", sex: "男", age: "24"}

結果: オブジェクト

ie8 (互換モード)、ie7 および ie6 には JSON オブジェクトがありませんが、

http://www.json.org/

は json.js を提供するため、ie8 (互換モード)、ie7 および ie6 には JSON オブジェクトがありません。 ie6 JSON オブジェクトとその stringify() および parse() メソッドをサポートできます。 現在は一般的に json2.js を使用します。ダウンロード アドレス: ここをクリック

これをページに追加すると、IE の下位バージョンに json オブジェクトがない問題を解決できます。

<script type="text/javascript" src="js/json2.js"></script>
追記: JSON の parse() メソッドと stringfy() メソッド

1.JSON.parse;

関数: JavaScript オブジェクト表現の JSON 文字列をオブジェクトに変換 (文字列からオブジェクト)

構文: JSON.parse(text [, reviver])

テキストは必須です。 有効な JSON 文字列。

リバイバー オプション。 結果を変換する関数。 この関数は、オブジェクトのメンバーごとに呼び出されます。

戻り値: JSON オブジェクト

例:

var jsonStr = '{"name":"leinov","sex":"famle","address":"beijing"}'
var jsonObj = JSON.parse(jsonStr);
alert(typeof jsonObj); //Object
2.JSON.stringify

関数: JavaScript オブジェクト表現の JSON 文字列に JavaScript json オブジェクトを変換します (オブジェクトから文字列)

構文: JSON.stringify(value [, replacer] [, space]);

値は必須です。通常はオブジェクトまたは配列

置換関数またはオプションの変換結果の配列

スペースはオプションです。 読みやすくするために、戻り値の JSON テキストにインデント、空白、改行を追加します。

スペースが省略された場合、戻り値のテキストは余分な空白なしで生成されます。

スペースが数値の場合、戻り値には、各レベルで指定されたスペースの数だけインデントされたテキストが含まれます。 スペースが 10 より大きい場合、テキストはスペース 10 個分インデントされます。

スペースが空ではない文字列 (" " など) の場合、戻り値のテキストは各レベルの文字列の文字でインデントされます。

スペースが 10 文字を超える文字列の場合は、最初の 10 文字を使用します。

戻り値: JSON に含まれるテキスト文字列。

例:

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。