1.qsのinstall
npm i qs
2.version 確認
# npm ls|grep qs tqq qs@6.11.0
3.code
const qs = require('qs'); let stringifyStr , parseStr; const params1 = [ { archive : 0, folder : 'draft', role : 'seller', type : 'invoice' } ] stringifyStr = qs.stringify(params1); console.log(stringifyStr); parseStr = qs.parse(stringifyStr); console.log(parseStr); const params2 = [ { type : "invoice", role : "buyer", folder : "sent", archive : 0 }, { type : "invoice", role : "buyer", folder : "returned", archive : 0 }, { type : "invoice", role : "buyer", folder : "confirmed", archive : 0 }, { type : "invoice", role : "buyer", folder : "paid", archive : 0 } ]; stringifyStr = qs.stringify(params2); console.log(stringifyStr); parseStr = qs.parse(stringifyStr); console.log(parseStr); console.log("parseStr[0]="+parseStr[0].type+":"+parseStr[0].role+":"+parseStr[0].folder+":"+parseStr[0].archive); console.log("parseStr[1]="+parseStr[1].type+":"+parseStr[1].role+":"+parseStr[1].folder+":"+parseStr[1].archive);
4.実行結果
・配列は、以下の形式になる
# node app.js 0%5Barchive%5D=0&0%5Bfolder%5D=draft&0%5Brole%5D=seller&0%5Btype%5D=invoice { '0': { archive: '0', folder: 'draft', role: 'seller', type: 'invoice' } } 0%5Btype%5D=invoice&0%5Brole%5D=buyer&0%5Bfolder%5D=sent&0%5Barchive%5D=0&1%5Btype%5D=invoice&1%5Brole%5D=buyer&1%5Bfolder%5D=returned&1%5Barchive%5D=0&2%5Btype%5D=invoice&2%5Brole%5D=buyer&2%5Bfolder%5D=confirmed&2%5Barchive%5D=0&3%5Btype%5D=invoice&3%5Brole%5D=buyer&3%5Bfolder%5D=paid&3%5Barchive%5D=0 { '0': { type: 'invoice', role: 'buyer', folder: 'sent', archive: '0' }, '1': { type: 'invoice', role: 'buyer', folder: 'returned', archive: '0' }, '2': { type: 'invoice', role: 'buyer', folder: 'confirmed', archive: '0' }, '3': { type: 'invoice', role: 'buyer', folder: 'paid', archive: '0' } } parseStr[0]=invoice:buyer:sent:0 parseStr[1]=invoice:buyer:returned:0 #