用=符号将JavaScript对象拆分为普通字符串

时间:2019-05-28 07:56:11

标签: javascript

如何将json对象动态转换为以下方式 我有

{ eligible: true, qualified:true }

但是我需要像这样

eligible= true, qualified=true

3 个答案:

答案 0 :(得分:6)

您可以使用Object.entries获取二维的对象数组,然后使用Array.prototype.map将数组元素(键,值)与=连接起来。

最后将数组与,结合在一起以获取预期的输出。

var x = { eligible: true, qualified:true };

var newX = Object.entries(x).map(el => el.join("=")).join(", ");

console.log(newX);

答案 1 :(得分:2)

如果我们可以假设该字符串是有效的JSON对象(您缺少引号),则可以将该字符串解析为JSON,然后使用Object.entries获取可以映射并连接在一起的键值对到所需的字符串输出。

const jsonStr = '{ "eligible": true, "qualified":true }'
const jsonObj = JSON.parse(jsonStr)

console.log(Object.entries(jsonObj).map(e => e.join('=')).join(', '))

答案 2 :(得分:1)

您可以获取对象的条目,并使用key/valuereduce更改为字符串

let obj = { eligible: true, qualified:true }


let str = Object.entries(obj).reduce((op,[key,value],index,arr)=>{
  op+= `${key}=${value}${index !== arr.length-1 ? ',' : ''} `
  return op
},'')

console.log(str.trim())