0

まだ設定されていない構造の JSON ファイルがあります。複雑になるかもしれません。関数がデータ構造をどのように考えているかを追跡したいと思います。

関数が特定のデータ構造に接続されていることを示す標準的/スマートな方法は何ですか?

現在、 json ファイルで_commentを使用 してバージョン番号を保持し、それを使用する各関数でそのバージョン名をコメントとして保持しています。以下の完全な例。

travel.json

{
  "_comment" : "version 1.0"
, "name" : "Tom Sawyer"
, "travel" : [{
   "id" : "1"
,  "location" : "San Francisco"
  }, {
   "id" : "2"
,  "location" : "London"
  }]
}

解析する 2 つの関数: travel.json

fs = require('fs');

function get_json() {

    var file = __dirname + '/travel.json';
    data = fs.readFileSync(file, 'utf8');
    var json_obj = JSON.parse(data);
    return(json_obj);

 };

function get_location(json_obj) {
    // "version 1.0"

    var new_obj = {};
    json_obj.content.forEach(function(item) { 
        new_obj[item.id] = item.location;
    });
    return ( new_obj );

};

// Run 
console.log('Locations: ', get_location( get_json() ));

ありがとう。

4

1 に答える 1

1

防御的プログラミングに少し似ています。他の人が依存する API を作成している場合は、JSON の代わりに API の URL をバージョン化できます。yoururl/api/1/locations、yoururl/api/2/locations など

于 2013-04-29T16:10:48.767 に答える