JSONがJavaScriptオブジェクトに等しくない

1494 ワード

JSONをJavaScriptオブジェクトと見なす人が多い.実はJSONは文字列の表現方法で、この表現はJavaScriptオブジェクト構造に啓発されただけです.JSONの設計は,サーバとブラウザのデータ交換を容易にするためである.JSONのシンプルさから、ブラウザ、サーバ以外の分野でも広く応用されている.
JavaScriptオブジェクトをコピーしてJSONベースのブックマークサイトに送信してみました.しかし、それは仕事ができません.なぜですか.私が送信しようとしたJavaScriptオブジェクトを確認してみましょう.
{
    name : "why this kolaveri di",
    url  : "http://www.youtube.com/watch?v=YR12Z8f1Dh8",
    singer: "Dhanush",
    movie: "3",
    music : "Anirudh Ravichandran",
    views : 10000000,
    // Adding this for testing purpose
    play : function() { },
}

サーバが返すエラーメッセージはUnexpected token n(サーバはNodeJSとExpressフレームワークを使用して構築されている)であり、上記のJavaScriptオブジェクトが合法的なJSONではないことを意味します.Douglas CrockfordのJSONの説明を読んで、これらの規定に気づきました.
  • すべてのキーは、
  • を二重引用符で囲む必要があります.
  • JSONコメント
  • はサポートされていません
  • JSONの値は関数ではなく、定義されていないことはできません.値は、二重引用符で囲まれた文字列、または数値、またはtrue、false、またはnull、またはオブジェクト、配列です.ネストされた構造を許可します.
  • JSONの最後の値には,区切りは使用されません.

  • だから私の上のコードは
    {
        "name" : "why this kolaveri di",
        "url"  : "http://www.youtube.com/watch?v=YR12Z8f1Dh8",
        "singer": "Dhanush",
        "movie": "3",
        "views" : 10000000,
        "music" : "Anirudh Ravichandran"
    }
    

    Web開発における大量のプロファイル(package.json、bower.json)がJSON形式であるため、JSONタグを学ぶことが重要だと思います.Web開発者一人一人がJSONを知っているはずです.
    原文JSON is not Javascript Object翻訳SegmentFault