如何将json对象动态转换为以下方式 我有
{ eligible: true, qualified:true }
但是我需要像这样
eligible= true, qualified=true
答案 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/value
将reduce
更改为字符串
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())