2017-07-10 13 views
0

私はCSVに次の形式でJSONを変換するアプリケーション構築しています。今、私が生成するjsonexportのNPMパッケージを、使用していますネストされたJSONオブジェクト:CSVエクスポートでソースレベルJSONへの参照を削除し

[ 
{ 
    "_type": "End", 
    "_source": { 
     "timestamp_milli": 1499696661704, 
     "timestamp": "2017-07-10T14:24:21.704Z", 
     "country": "United States", 
     "country-code": "US" 
    } 
}, 
{ 
    "_type": "Info", 
    "_source": { 
     "timestamp_milli": 1499696614807, 
     "timestamp": "2017-07-10T14:23:34.807Z", 
     "country": "United States", 
     "country-code": "US" 
    } 
}, 
{ 
    "_type": "Menu", 
    "_source": { 
     "timestamp_milli": 1499696578167, 
     "timestamp": "2017-07-10T14:22:58.167Z", 
     "country": "United States", 
     "country-code": "US" 
    } 
} 
] 

を上記JSONドキュメントのCSVファイルは、次の形式で入力します。

_type,_source.timestamp_milli,_source.timestamp,_source.country,_source.country-code 
End,1499696661704,2017-07-10T14:24:21.704Z,United States,US 
Info,1499696614807,2017-07-10T14:23:34.807Z,United States,US 
Menu,1499696578167,2017-07-10T14:22:58.167Z,United States,US 

「_ソース」を削除しようとしました。生成された.csvファイルのヘッダーのテキスト。 JSONドキュメントは常に同じ構造を持ちますが、 "_source"の要素はユーザーの入力に基づいて変更されます。私は、JSONのキーをハードコーディングせずにこれを達成しようとしています。

誰かがnode.jsを使用してこれを行う最善の方法を理解するのに役立つでしょうか?私が持っているいくつかのアイデアは、JSONドキュメントから "_source"レベルを削除したり、 "_source"をトリミングしたりしています。私はそれをブラウザに返す前に、csvファイルからのテキスト。

答えて

2
[ 
    { 
     "_type" : "End", 
     "_source" : { 
      "timestamp_milli" : 1499696661704, 
      "timestamp" : "2017-07-10T14:24:21.704Z", 
      "country" : "United States", 
      "country-code" : "US" 
     } 
    }, 
    { 
     "_type" : "Info", 
     "_source" : { 
      "timestamp_milli" : 1499696614807, 
      "timestamp" : "2017-07-10T14:23:34.807Z", 
      "country" : "United States", 
      "country-code" : "US" 
     } 
    }, 
    { 
     "_type" : "Menu", 
     "_source" : { 
      "timestamp_milli" : 1499696578167, 
      "timestamp" : "2017-07-10T14:22:58.167Z", 
      "country" : "United States", 
      "country-code" : "US" 
     } 
    } 
].map((item) => { 
    // assign nested properties from _source 
    Object.assign(item, item._source); 
    // remove _source from item 
    delete item._source; 
}); 
+0

ネヴァーマインドは、これを使用してそれを得た: https://gist.github.com/Joeymarinello1/7af1d759528da8af63a87edd151a6c09 ありがとうございました! –

関連する問題