Nodejsのjsonデータへの参照

1822 ワード

JSON形式説明
  • 並列データ間をカンマ(",")で区切る.
  • マッピングはコロン(":")で表されます.
  • 並列データの集合(配列)は角括弧("[])で表される.
  • マッピングされた集合(オブジェクト)は、括弧("{}")で表される.

  • 以上の4点は、JSON形式のすべての内容(JSONに初めて触れたときのJSONに対する認識を完全に覆し、JSONの定義は何のオブジェクトと配列のネストかと思っていた)です.
    JSONオブジェクトの変換および参照
    JSONオブジェクトの変換
  • fsファイルシステムモジュール
  • を参照
  • はfsを用いる.readFileSync()メソッドは、対応するJSONファイル
  • に参照される
  • はJSONを使用する.parse()メソッドは、参照されたjsonファイルの内容をJSONオブジェクト
  • に変換する
  • exports法を用いてこのJSONオブジェクトを
  • に暴露する
    var fs = require("fs");
    var contents = fs.readFileSync("mockData/mockData.json");
    var data = JSON.parse(contents);
    exports.requests = data.requests;

    JSONオブジェクトの参照
  • pathファイルパスモジュール
  • を参照
  • はrequireとpathを用いる.resolveメソッドは、JSONオブジェクトを変換するJSファイル
  • を導入する
  • この時点で、以前のexportsメソッドによって暴露されたデータ
  • を参照することができる.
    var path = require('path');
    mockData = require(path.resolve('./mockData'));
    user = mockData.requests.users.user[0];

    この時点で、JSONオブジェクトのすべてのデータを直接使用することができます.
    ピットポイント:
    jsonオブジェクトの値を直接等号で取得すると、
    user = mockData.requests.users.user[0];

    userは、このオブジェクトをコピーするのではなく、このオブジェクトを指すだけです.したがって、userが変更されると、私たちが参照するJSONデータの値も変更されますが、JSONデータ自体は変更されません.なぜなら、私たちが参照し、変更したのはJSONが変換したJSONオブジェクトであるからです.
    上記のピットを解決するには、ステップを移動してください