我在python上找到了我的任务解决方案。但我根本不懂python。代码:
import re
import json
a = open('test.txt').read()
a = re.sub('"[ \t]*"', '":"', a)
a = re.sub('"\s+"', '","', a)
a = re.sub('"\s+{', '":{', a)
a = re.sub('}\s+"', '},"', a)
a = '{%s}' % a
b = json.loads(a)
尝试通过类比将其转换为php:
$a = file_get_contents('test.txt');
$a = preg_replace('"[ \t]*"', '":"', $a);
$a = preg_replace('"\s+"', '","', $a);
$a = preg_replace('"\s+{', '":{', $a);
$a = preg_replace('}\s+"', '},"', $a);
$a = '{'.$a.'}';
$b = json_decode($a);
但似乎表达式错了。有人可以帮忙吗?
答案 0 :(得分:2)
在PHP中,我认为正则表达式需要在2 x /
内。
$a = preg_replace('/"[ \t]*"/', '":"', $a);
编辑:正如André所提到的,分隔符不一定需要是正斜杠,但是我认为你使用的双引号意味着要用作正则表达式的一部分而不是分隔符。