JSON文字列とJSONオブジェクトの相互変換方法まとめ

php中世界最好的语言
リリース: 2018-04-24 17:16:39
オリジナル
2699 人が閲覧しました

今回はJSON文字列とJSONオブジェクトの相互変換方法のまとめをお届けします。 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 オブジェクトのままです。 () 関数の処理後に問題が発生します (構文例外がスローされます)。

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 パッケージのバージョンが低すぎることを意味します。

この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

jqueryでのajax実行順序の調整

Ajaxと$.ajaxの例の詳細な説明

ajax+html ファイルアップロードを簡単に実装する手順は何ですか

以上がJSON文字列とJSONオブジェクトの相互変換方法まとめの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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