JavaScriptのオブジェクトとJSON

2262 ワード

概要
JSONはJavaScript Object Natationで、サーバとJavaScriptのインタラクションに非常に適した軽量レベルのデータ交換フォーマットです.JSONはデータ交換形式であり,XMLやYAMLのように様々な言語間で構造化された情報を伝達する方式である.一方、javascriptオブジェクトは、PHPの配列、C++のクラス、構造体のようなjavascript言語のデータ型です.
JSONとjavascriptオブジェクトの定義
Javascriptプログラムでオブジェクトを定義する場合、オブジェクトのプロパティ名に二重引用符を付けるか、二重引用符を付けないかを指定します.属性名に特殊文字(例えば!、ifなど)が含まれている場合は、二重引用符を付ける必要があります.JSONを定義するときは、属性名に二重引用符を付ける必要があります.
コードの例:
1.javascriptオブジェクトの定義
 
  
var obj={name:"tudouya","sex":"man"};  #
var obj={"!":"hello world"};  #

2.JSON文字列の定義
 
  
var jsonString={"name":"tudouya"};  # JSON

JAvascriptオブジェクトをJSONに変換
1.javascriptオブジェクトをJSONに変換
Javascriptの内蔵関数を使用してjavascriptオブジェクトをJSONに変換できます.この関数がJSONです.stringify(). コードの例:
 
  
var obj={name:"tudouya",sex:"man"};
var jsonObj=JSON.stringify(obj);
console.log(jsonObj);
## :{"name":"tudouya","sex":"man"}

JavascriptオブジェクトをJSONに変換するには、次の点に注意する必要があります.
オブジェクトに関数と日付の値を持つ属性が含まれている場合、JSONは関数の値を持つ属性を無視し、日付の値を持つ属性を文字列に変換します.
コードの例:
 
  
var obj={
 name:"tudouya",
 birthday:new Date(),
 action:function (){
  document.write("walk");
 }
};
var jsonObj=JSON.stringify(obj);
console.log(jsonObj);
## :{"name":"tudouya","birthday":"2014-08-12T10:05:00.497Z"}

JAvascriptでの解析JSON
旧バージョンのJSでは、eval()関数を使用してJSONを解析するのが一般的ですが、ECMAScript 5はJSONを解析する新しい関数JSONを提供してくれます.parse().
この関数の使い方は簡単なので、自分で試してみてください.あるJSON文字列にこの関数を適用すると、JSONはjavascriptのオブジェクトに変換されます.つまりtypeof演算子でその関数のタイプを表示すると、返される値はObjectです.同じように、この関数はECMAScript 5以降でサポートされているので、古いバージョンのブラウザであればサポートされていない可能性があります.解決策は、この関数を実現するjsファイル、すなわちjson 2をロードすることである.js.JQueryフレームワークを使用している場合は、jQuery.parseJSON()は、JSONを呼び出します.parse()メソッド.eval()メソッドを用いたJSON解析については,これなどを深く学習して記録する.
重要な概念です
前端菜鳥として「JSONオブジェクト」という言葉をよく耳にするが、実は「JSONオブジェクト」という概念はなく、JSONの本当の表現形式は文字列である.