jsonオブジェクトの概要

2750 ワード

JSONオブジェクトとは


1.jsonとは?
JSONのフルネームはJavaScript Object Notationで、軽量レベルのデータ交換フォーマットです.JSONはXMLと同様の特性を持ち、データ格納形式であるが、JSONはXMLよりも人が書き、読みやすく、生成と解析が容易である.
2.JSONの文法規則:
1)データは名前/値ペアとして保存され、名前/値ペアにはフィールド名(二重引用符)が含まれ、後に「firstName」:「John」などの値をコロンと書きます.JSONの値は、数値、文字列、null、true、false、配列またはオブジェクトです.
2)データはきちんと区切られている
3)かっこでオブジェクトを保存します.オブジェクトには複数の名前/値のペアを含めることができます.
4)四角カッコは配列を保存し、配列に複数のオブジェクトを含めることができます.
5)JSONファイル:
JSONファイルのファイルタイプは「.json」JSONテキストのMIMEタイプは「アプリケーション/json」3.JSONの2つの構造:
1)キー値ペア形式、すなわちName-Valueペアの構造構造集合(無秩序).例えば:{name 1:value 1.name2:value2,...};
{「name」:「明ちゃん」,「age」:「12」}
2)Array(秩序化):秩序化されたデータのセット.たとえば、[value 1,value 2,value 3,.....]ここで、値は、二重引用符による文字列(string)、数値(number)、true、false、null、オブジェクト(object)、または配列(Array)であり、これらの構造はネスト可能である.次のようになります.
例1:オブジェクトに配列を含める
{“root”:[{“id”:“001”,“name”:“赤”},{“id”:“002”,“name”:“明”},{“id”:“003”,“name”:“小麗”},“total”:3,“success”:true}
例2:オブジェクトがサブオブジェクトをネストし、サブオブジェクトが配列をネストすることもできます.
{「memberList」:{「lists」:[{「id」:「001」,「name」:「紅ちゃん」},{「id」:「002」,「name」:「明ちゃん」},{「id」:「003」,「name」:「麗ちゃん」}
例3:配列にオブジェクトを含めることができます.
[{"id":[001],[name]:[赤]},{[id]:[002],[name]:[明],{[id]:[003],[name]:[麗]},.......]
4.JSONの取値方式と修正方式:
次のようになります.
var employees = [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName": "Carter" }
];

値:employees[0].lastName
修正データ:employees[0].lastName="Jobs"
 5.JSONと文字列の変換方法:
JSON変換文字列(string)フォーマット:var string=JSON.stringify(obj);
Json文字列をJSONに変換:
   (1)var data=JSON.parse(string);
    function strToJson(){
      return JSON.parse(str);
    }
JSONを使用します.parseはJSON規範を厳格に守らなければならない.属性が引用符で引き起こさなければならない場合、以下のようにエラーが発生する.
      var str = '{name:"jack"}';        var obj = JSON.parse(str);//--> parse error 
nameは引用符ではなくJSONを使用する.parseのすべてのブラウザに異常が投げ出され、解析に失敗しました.(次の2つの方法は問題ありません)
   (2)eval(string);               
例:function myEvel(){
var str='{"id":"001","name":"小明","age":10}';
          var obj=eval('('+str+')');
          alert(obj.toJSONString());
      }
(3)new Function形式
      function strToJson(str){
        var json=(new Function("return"+str))();
      }
(4)jQueryでも文字列をJSON形式に変換する方法jQuery.parseJSON(json)は、標準形式のJSON文字列を受け入れ、解析後のJavaScript(JSON)オブジェクトを返します.