我有这根绳子:
posts{id,title},posts2{id,title}
我想把它转换成一个对象:
{
posts: [
'id',
'title'
],
posts2: [
'id',
'title'
]
}
我被困在这里,我怎么能这么做?谢谢。。。。
假设字符串使用指定格式有效:
您可以将字符串拆分成成对的键列表项。然后,迭代它们并将它们插入到一个对象中,如下所示:
null
const stringify = string => {
const obj = {};
if(string) {
const pairs = string.substring(0,string.length-1).split('},');
pairs.forEach(pair => {
const [key,value] = pair.split('{');
obj[key] = value.split(",");
});
}
return obj;
}
console.log( stringify('posts{id,title},posts2{id,title}') );
console.log( stringify('posts{id,title}') );
console.log( stringify('') );
这不是有效得字符串。你想要的东西只有硬编码才能实现。(不推荐)
可以使用将字符串解析(转换)为对象
json.parse(str)
和对象设置为字符串
json.stringify(对象)
null
let testObject = { posts: ['id', 'title'], posts2: ['id', 'title']}
console.log("Original Object: ", testObject);
let validString = JSON.stringify(testObject);
console.log("Valid String: ", validString);