この記事の例では、JSON 文字列と JSON オブジェクトを相互に変換する方法を説明します。参考のために皆さんと共有してください。詳細は次のとおりです:
json文字列をjsonオブジェクトに変換するメソッド。データ送信プロセス中、JSON はテキスト、つまり文字列の形式で送信されますが、JS は JSON オブジェクトを操作するため、JSON オブジェクトと JSON 文字列間の変換が鍵となります
例:
JSON 文字列:
var str = '{ "name": "name1","sex": "m" }';
JSON オブジェクト:
var obj = { "name": "name1", "sex": "w" };
1. JSON 文字列を JSON オブジェクトに変換します
上記の str1 を使用するには、まず次のメソッドを使用して JSON オブジェクトに変換する必要があります:
var obj = eval('(' + str + ')'); //由JSON字符串转换为JSON对象,必须把文本包围在括号中,这样才能避免语法错误: "(" + str+ ")
または
var obj = $.parseJSON(str); // 将JSON字符串转化为JSON对象 (jQuery)
または
var obj= str.parseJSON(); //由JSON字符串转换为JSON对象
または
var obj= JSON.parse(str); //由JSON字符串转换为JSON对象
次に、次のように読むことができます:
Alert(obj.name); Alert(obj.sex);
特記事項: obj が元々 JSON オブジェクトである場合は、 eval() 関数を使用して(複数の変換であっても) または JSON オブジェクトを変換しますが、parseJSON() 関数の使用後に問題が発生します (構文例外がスローされます)。
2. toJSONString() またはグローバル メソッド JSON.stringify() を使用して、JSON オブジェクトを JSON 文字列に変換できます。
例:
var str=obj.toJSONString(); //将JSON对象转化为JSON字符
または
var str=JSON.stringify(obj); //将JSON对象转化为JSON字符 alert(str);
概要:
また、型変換には一般に 2 つのタイプがあることも上で説明しました。1 つは JavaScript に付属のパーサーで、もう 1 つは JSON です。パーサーでは、JavaScript パーサーはあらゆる JavaScript コードをコンパイルして実行できます。そのため、JSON パーサーは JSON テキストのみを認識し、スクリプトをコンパイルしないため、安全性が高く、JSON パーサーの方が高速です。
上記のメソッドのうち、eval() 関数が js に付属していることを除いて、他のメソッドはすべて json.js パッケージからのものです。新しいバージョンの JSON は API を変更し、JSON.stringify() メソッドと JSON.parse() メソッドの両方を JavaScript の組み込みオブジェクトに挿入し、前者は Object.toJSONString() になり、後者は String になります。 。 toJSONString() メソッドと parseJSON() メソッドが見つからないというメッセージが表示された場合は、json パッケージのバージョンが低すぎることを意味します。
この記事が JavaScript プログラミングのすべての人に役立つことを願っています。
JSON 文字列と JSON オブジェクト間の相互変換の詳細な例については、PHP 中国語 Web サイトの関連記事に注目してください。