ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptのJSON文字列をオブジェクトに変換する方法

JavaScriptのJSON文字列をオブジェクトに変換する方法

醉折花枝作酒筹
醉折花枝作酒筹オリジナル
2021-04-08 18:26:4224065ブラウズ

変換方法: 1. 「JSON.parse()」メソッドを使用します。構文は「JSON.parse (有効な JSON 文字列)」です。 2. 「JSON.stringify()」メソッドを使用します。構文は「JSON.stringify(有効な JSON 文字列)」です。

JavaScriptの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 サイトの他の関連記事を参照してください。

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