JavaScript:JSONとJSオブジェクト

3778 ワード

違います
JSON(JavaScript Object Notation)はデータ形式(またはデータ形式)だけです.データのフォーマットは実は1種の規範で、このような規範によってデータを貯蓄して交換します.XML形式のようです.
違います
Json
Javascriptオブジェクト
意味
単なるデータフォーマットです.
オブジェクトの例
転送
プラットフォームをまたぐデータ伝送ができます.スピードが速いです.
転送できません
表現する
1.キーの値は2.キーにダブルクォーテーションを付けなければなりません.3.値はメソッド関数/undefined/NaNではありません.
1.キーペア2.値は、関数、オブジェクト、文字列、数字、boleanなどとすることができます.
相互変換
Json→JSオブジェクト:1.var obj = JSON.parse(jsonstring); 2.var obj = eval("("+jsonstring+")");JSオブジェクト→Json:JSON.stringify(obj);JSONテキストフォーマットは、JavaScriptオブジェクトを作成するコードと文法的には同じですが、本質は異なります.以下のオブジェクトをJSONと呼ぶことはできません.
var obj1 = {}; //     JS   

//       :JSON     JavaScript    
var obj2 = {"width":100,"height":200,"name":"rose"};

//       :JSON       
var str1 = '{"width":100,"height":200,"name":"rose"}';

//      JSON      ,  JSON          
var arr = [
    {"width":100,"height":200,"name":"rose"},
    {"width":100,"height":200,"name":"rose"},
    {"width":100,"height":200,"name":"rose"},
];
        
//            JSON            
var str2='['+
    '{"width":100,"height":200,"name":"rose"},'+
    '{"width":100,"height":200,"name":"rose"},'+
    '{"width":100,"height":200,"name":"rose"},'+
']';
しかし、JSONとJavaScriptは確かに関係があります.JSON自体はJavaScriptオブジェクト表示法(JavaScript Object Notation)を意味しています.このようなデータフォーマットはJavaScriptオブジェクトから発展したと言えます.JSON文法はJavaScriptの対象がフランス語法のサブセットを表しています.
JSON形式のデータは主にプラットフォームをまたいでデータを交流するために使います.JSONは言語とプラットフォームから独立しており、JSON解像器とJSONライブラリは多くの異なるプログラミング言語をサポートしています.
構文
1、JSON文法規則:
  • データは、名称/値ペアにおいて
  • である.
  • データはカンマ区切り
  • です.
  • かっこ保存オブジェクト
  • 四角括弧保存配列
  • 2、JSONデータ値:
  • 数字(整数または浮動小数点)
  • 文字列(二重引用符)
  • 論理値(trueまたはfalse)
  • 配列(大かっこ内)
  • オブジェクト(かっこ内)
  • null
  • JSONデータ構造は2つあり、この2つの構造はオブジェクトと配列であり、これらの2つの構造によって様々な複雑な構造を表すことができる.JSONは厳格なJavaScriptオブジェクト表示法を用いて構造化データを表していますので、JSONの属性名にはダブルクォーテーションが必要です.
    {
        "company": "Apple",
        "age": 18,
        "IPO", true,
        "employees": [
            { "firstName":"John" , "lastName":"Doe" }, 
            { "firstName":"Anna" , "lastName":"Smith" }, 
            { "firstName":"Peter" , "lastName":"Jones" }
        ]
    }
    データ変換
    JSONデータはJSオブジェクトに変換されます.
    1、JS解析器:eval()関数
    //      JSON     JavaScript    
    var txt = '{ "employees" : [' +  
    '{ "firstName":"John" , "lastName":"Doe" },' +  
    '{ "firstName":"Anna" , "lastName":"Smith" },' +  
    '{ "firstName":"Peter" , "lastName":"Jones" } ]}';
    
    //   JS    ,   JSON       JS   
    var obj = eval("(" + txt + ")");  
    eval()関数を使用する場合、入力されたJSONデータパラメータに括弧'()'を追加しなければなりません.そうでないと、文法エラーが発生します.
    2、解析器:パース関数
    しかし、eval()の問題は、JSONデータを解析できるほか、JavaScriptスクリプトのセグメントを実行するためにも使えることであり、潜在的な安全問題をもたらすことである.JSONはJSONパーサーを提供して、JSONデータを解析するだけで、JavaScriptスクリプトは実行されず、速度も速いです.以下のとおりです
    var obj = JSON.parse(txt);
    比較的新しいブラウザと最新のECMAScript(JavaScript)標準には元のJSONに対するサポートが含まれています.
    JSデータはJSONテキストに変換されます.
    JSON.strify()関数を使って、JavascriptオブジェクトをJSONテキストデータに変換します.
    var obj = {a:1,b:2}
    var txt = JSON.stringify(obj);
    console.log(txt);
      :
    "{"a":1,"b":2}"