「json-csv」ライブラリを使用して、ネストされたオブジェクトと配列を持つユーザー配列からcsvを作成します。オブジェクトjsonからcsvのネストされた配列
var users = [
{
subscriptions: [
{
package : {
name: 'Grammar'
},
state: 'EXPIRED',
timerange: {
period : 5550
},
transaction:{
amount: 10000
}
},
{
package : {
name: 'GK'
},
state: 'ACTIVE',
timerange: {
period : 30
},
transaction:{
amount: 10340
}
},
],
account:{
balance: 200
},
name: "Johhy Moe",
email: null,
user_id: "123456789",
username: null,
user_type: "facebook",
id: 3,
createdAt: "2016-07-11T08:02:40.000Z",
updatedAt: "2016-07-11T08:02:40.000Z",
},
{
subscriptions: [
{
package : {
name: 'GK'
},
state: 'EXPIRED',
timerange: {
period : 42
},
transaction:{
amount: 5252
}
},
{
package : {
name: 'MATH'
},
state: 'ACTIVE',
timerange: {
period : 25
},
transaction:{
amount: 200
}
}
],
account:{
balance: 1500
},
name: "John Doe",
email: null,
user_id: "123456789",
username: null,
user_type: "facebook",
id: 7,
createdAt: "2016-07-29T06:44:18.000Z",
updatedAt: "2016-07-29T06:44:18.000Z"
},
]
今私は、生成されたCSVファイルをこの USERID、NAME、FBID、ACCOUNT、SUBSCRIPTION、PRICE、STATE、時間期間
3、Johhy萌え、123456789,200、文法、10000、のようになりたいですEXPIRED、5550
3、Johhy萌、123456789,200、ACTIVE GK、10340、30
7、ジョン・ドウ、123456789,1500、GK、5252、EXPIRED、30
7、ジョンDoe、12345ユーザーごとにサブスクリプションアレイ内に2つのオブジェクトがある場合は、そのユーザーをもう一度繰り返すが、サブスクリプションデータは異なる。
ユーザーアレイが数百のサブスクリプションを持つ何千ものユーザーになる可能性があるので、私はライブラリを使用することを考えました。
私は何をすべきか迷っています。 私のコード:
var options= {
fields : [
{
name : 'id',
label : 'USERID'
},
{
name : 'name',
label : 'Name'
},
{
name : 'user_id',
label : 'FBID'
},
{
name : 'account.balance',
label : 'ACCOUNT'
},
{
name: '',
label: 'Subscription'
}
]
}
var source = es.readArray(users)
source
.pipe(jsoncsv.csv(options))
.pipe(res)
私はまた、ライブラリを使用したくありません。ですから、誰かがストリームとストリームを使って自分のCSVファイルを作るためのリソースを私に与えることができればそれは素晴らしいことです。ありがとう!!
何千ものユーザーの配列にこれを使用すると効果的ですか?この例では、コンソールにログオンしていますが、私はすべてのデータを応答として送信する必要があります。 –
結果が必要でない場合は、配列にユーザーが表示されているので、非常に効率的に変更できます。 –
答えを変更しました... @ amit-adhikariをチェックしてください –