JavaScript对象合成FormData数据格式代码片段记录

let params = {
     order_detail: [
         {
             hello: "word",
             b: 1231,
             price: 1122
         },
         1,
         3
     ],
     pricelog: {
         1008: {
             name: "nicolana"
         }
     }
 }
 function formateRequestParams(data, exKey="") {
     if (!(data instanceof Object)) return;
   let params = {}
   for (const key in data) {
     const item = data[key]
     if (typeof item === 'string' || typeof item === 'number') {
       let realKey = exKey ? ${exKey}[${key}] : key
       params[realKey] = data[key]
     } else if (item instanceof Object) {
         let subRealKey = exKey ? ${exKey}[${key}] : ${key}
         Object.assign(params, formateRequestParams(item, subRealKey))
     }
   }
   return params
 }
 console.log(formateRequestParams(params))

输出结果:

PS C:\Users\juniv\Desktop> node .\format.js
 {
   'order_detail[0][hello]': 'word',
   'order_detail[0][b]': 1231,
   'order_detail[0][price]': 1122,
   'order_detail[1]': 1,
   'order_detail[2]': 3,
   'pricelog[1008][name]': 'nicolana'
 }

暂无评论

发表评论

您的电子邮件地址不会被公开,必填项已用*标注。

相关推荐