我有一个表示树结构的javascript字符串为 [a [b,c] d [e]] - 表示该树有2个顶级节点 a 和 d ( a 有2个子节点 b 且 c & d 具有子节点 e )。
我想要上面树的JSON表示。 (键可以与值相同)。我想以编程方式为任意数量的节点和子节点进行转换。
我想知道是否存在一些我可以重用的代码。
答案 0 :(得分:1)
否定答案总是很棘手,但如果您正在寻找可以转换此字符串的预先存在的代码
'[a[b,c]d[e]]'
进入此字符串
'{"a": ["b", "c"], "d": ["e"]}'
或这个字符串(我无法分辨哪个)
'{"a": {"b": "b", "c": "c"}, "d": {"e": "e"}}'
或类似的,我认为答案是否定的,你必须自己编写转换。不会很难,可能甚至不需要使用正则表达式,除非可能匹配标识符。
您可以选择直接字符串>字符串转换(再次看起来相当简单),也可以将符号转换为对象,然后使用json2.js中的JSON.stringify
或类似内容把它变成一个JSON字符串。后一种方法的优点是你不必担心做必要的值转义,因为它会成为字符串化器的问题。