JSONオブジェクトと文字列間の変換例を詳しく解説

零下一度
リリース: 2018-05-18 11:27:51
オリジナル
1983 人が閲覧しました

開発プロセス中、少数のパラメータを前後に転送したい場合は、ajaxデータ関数を直接使用し、json形式で渡し、バックグラウンドリクエストを使用することができます。ただし、場合によっては、渡す必要があります。バックグラウンド

がそれを受け入れるように複数のパラメータを指定する必要があります。このとき、複数のリクエストをクラスまたはコレクションの形式で渡す必要があります。

例: フロントエンドは JSON オブジェクトをクラス形式で渡します:

var jsonUserInfo = "{\"TUserName\":\"" + userName + "\",\"TInterest\":\"" + interest + "\",\"TSex\":\"" + sex + "\",\"TCity\":\"" + city + "\",\"TDetail\":\"" + detail + "\"}";
ログイン後にコピー

スペルアウトされた jsonUserInfo にエスケープ記号がない場合、渡す前に var jsonArrayFinal = JSON.stringify(jsonArray); を変換する必要があります。

$.ajax(                    
{                        
type: "post",                        
url: "ReceiveHandler1.ashx",                        
data: { userInfo: jsonUserInfo, flag: "123456", key: "654321" },                        
dataType: "text",                        
success: function(data) {                            
$("#pShow").html(data);                       
 } });
ログイン後にコピー

フロントエンドがクラス形式、つまりコレクション型で複数の JSON 配列を渡す場合:

例:

[{"name":"a"},{"name","b"},{"name","c"}]
ログイン後にコピー

この場合、配列の変換には JSON.stringify を使用する必要があります。オブジェクトを文字列に変換し、AJAX を実行して渡すだけです。

たとえば、a を文字列に変換し、b を JSON オブジェクトに変換したいとします。

var a={"name":"tom","sex":"男","age":"24"}; 
var b='{"name":"Mike","sex":"女","age":"29"}';
ログイン後にコピー

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

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

上記の変換は次のように記述できます:

var a={"name":"tom","sex":"男","age":"24"}; 
var b='{"name":"Mike","sex":"女","age":"29"}';
var aToStr=JSON.stringify(a); 
var bToObj=JSON.parse(b); 
alert(typeof(aToStr));  
//string alert(typeof(bToObj));
//object
JSON.stringify()
ログイン後にコピー

ie8 (互換モード)、ie7 および ie6 には JSON オブジェクトがありませんが、www.json.org/ js.html json.js は、ie8 (互換モード)、ie7 および ie6 が JSON オブジェクトとその stringify() および parse() メソッドをサポートできるように提供されています。この js は github.com/douglascrockford/JSON-js で入手できます。 、現在は一般的に json2.js が使用されます。

ie8 (互換モード)、ie7 および ie6 は、eval() を使用して文字列を JSON オブジェクトに変換できます。

var c='{"name":"Mike","sex":"女","age":"29"}'; 
var cToObj=eval("("+c+")"); 
alert(typeof(cToObj));
ログイン後にコピー

jQuery には、文字列を JSON 形式に変換するメソッド jQuery.parseJSON (json) もあります。標準形式の JSON 文字列を変換し、解析された JavaScript (JSON) オブジェクトを返します。もちろん、興味があれば、jQuery 拡張機能を自分でカプセル化することもできます。 jQuery.stringifyJSON(obj) は JSON を文字列に変換します。

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

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