-1
我使用'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,訂閱,價格,州TIMEPERIOD
3,Johhy萌,123456789,200,語法,10000,過期,5550
3,Johhy萌,123456789,200,GK,10340,ACTIVE,30
7,John Doe的,123456789,1500,GK,5252,已過期,30
7,約翰DOE,12345 6789,1500,MATH,200,ACTIVE,25
正如您看到的,如果每個用戶的訂閱陣列中有兩個對象,我希望再次重複該用戶,但具有不同的訂閱數據。
我想過使用庫,因爲我的用戶數組可以達到成千上萬的訂閱數以千計的用戶。
而且我不知道該怎麼做。 我的代碼:
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 –