変換方法: 1. 「JSON.parse()」メソッドを使用します。構文は「JSON.parse (有効な JSON 文字列)」です。 2. 「JSON.stringify()」メソッドを使用します。構文は「JSON.stringify(有効な JSON 文字列)」です。
このチュートリアルの動作環境: Windows 7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
実際のプロジェクトでは、文字形式の問題が頻繁に発生するため、後で見やすいように書き留めておきます。 JSON.stringify() と JSON.parse() の 2 つの関数が使用されます。
ajax を使用してバックグラウンドからデータをリクエストすると、バックグラウンドはデータをフロントエンドに返します。明らかに、バックエンド スクリプトは json 関数で処理された json 形式を書き込みますが、フロントエンドがデータを受信するときに、それはオブジェクトである場合もあれば、文字列である場合もあります。具体的な理由はまだ分かりません。
データ送信プロセス中に、json はテキスト、つまり文字列の形式で渡され、JS は JSON オブジェクトを操作します。したがって、重要なのは、JSON オブジェクトと JSON 文字列の間で変換することです。
例:
JSON 文字列:
var str1 = '{ "name": "cxh", "sex": "man" }';
JSON オブジェクト:
var str2 = { "name": "cxh", "sex": "man" };
1. JSON 文字列を JSON オブジェクトに変換します。
上記の str1 を使用するには、まず次のメソッドを使用して JSON オブジェクトに変換する必要があります:
//JSON 文字列から JSON に変換します。オブジェクト
var obj = eval('(' + str + ')');
または
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 last=obj.toJSONString(); //将JSON对象转化为JSON字符
または
var last=JSON.stringify(obj); //将JSON对象转化为JSON字符 alert(last);
注:
上記のメソッドのうち、js に付属する eval() 関数を除き、他のメソッドはすべて json.js パッケージからのものです。新しいバージョンの JSON は API を変更し、JSON.stringify() メソッドと JSON.parse() メソッドの両方を Javascript の組み込みオブジェクトに挿入します。前者は Object.toJSONString() になり、後者は String になります。 。 toJSONString() メソッドと parseJSON() メソッドが見つからないというメッセージが表示された場合は、json パッケージのバージョンが低すぎることを意味します。
[推奨学習: JavaScript ビデオ チュートリアル ]
以上がJavaScriptのJSON文字列をオブジェクトに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。