我的字符串格式不正确,使用 JavaScript,假设数据是:
{engine{type{condition},age},wheels,model{name},color}
我想将其转换为可用的(JS)对象。我可以使用正则表达式来解析片段,但我想知道是否有非正则表达式方法可以这样做。如果您必须在正则表达式中执行此操作,那么最简单的方法是什么?
转换后的对象应该更像是:
{
engine: {
type: {
condition: null
},
age: null
},
wheels: null,
model: {
name: null
},
color: null
}
我还可以从一系列嵌套数组中使用它。
最佳答案
好吧,假设“char{”应该是“char:{”并且“char,”或“char}”应该是“char=null,”或“char=null}”,这是一个非常简单的查找和替换。否则,您可能必须使用递归解析函数将其分解并再次组合在一起。
var str = "{engine{type{condition},age},wheels,model{name},color}"
str = str.replace(/([A-z])\s*{/g, "$1:{")
str = str.replace(/([A-z])\s*([},])/g, "$1:null$2")
console.log(str);
关于javascript - 将字符串转换为格式不正确的 JS 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43854135/