2011-03-17 43 views
0

我怎么可以用查找替换&(或正则表达式或者vim或其他)下面一串转换:如何使用查找/替换将非格式转换为JSON?

1 
string one 
2 
string two 
3 
stirng three 
4 
string four 
. 
. 
. 

到JSON格式,例如:

1: { 1: 'string one' }, 
2: { 1: 'string two' }, 
3: { 1: 'string three' }, 
4: { 1: 'string four' } 
. 
. 
. 

任何想法?

谢谢!

+2

这不是一个有效的JSON格式,因为JSON密钥必须是字符串。 – 2011-03-17 23:33:20

+0

感谢您的提示。 – 2011-03-18 06:18:40

回答

1

使用vim:
1)我想录制宏放在同一行键和内容(找不到如何应用正则表达式多行)
2 - )%S/\([ 0-9] \ + \)\(。* \)/ \ 1:{'\ 1':\'\ 2'},/ g
第一部分(0-9)+会得到索引,第二部分(。*)将得到字符串的其余部分。

然后你几乎可以随心所欲地使用它。 在这个例子中,我按照你的语法

键:{“键”:“值”},

在这种情况下,你将不得不在最后一行逗号,但它不应该是一个问题。

+0

不错!虽然我得到以下内容: 1:{'1':'s'},将一个 2:{'2':'s'},两个 3:{'3':'s'},tirng三个 4:{'4':'s'},四个 – 2011-03-18 06:17:43

+0

第二部分缺少*。应该 \\(。\*\\)。完整的行是:%s/\\([0-9] \\ + \\)\\(。\ * \\)/ \\ 1:{'\ 1':\'\ 2'},/ G 。对于那个很抱歉 – 2011-03-18 10:47:03