1

我有以下 PHP 字符串:

"{'blah':1178,'blah':0,'blah':260,'blah':0,'needWrapper':

{'NEED':'TEXTNEED','NEED':'TEXTNEED'},'blah':'blah'}"

编辑:我把它拆开,希望让它更具可读性

我需要从中获取“NEED:TEXTNEED”和“NEED:TEXTNEED”子字符串。我觉得有一个很好的方法可以使用正则表达式或使用爆炸或其他东西,但我不能完全拼凑出一个优雅/有效的解决方案。任何帮助,将不胜感激。

4

1 回答 1

3

如果把单引号换成双引号,可以用json解析:

import json

s = "{'blah':1178,'blah':0,'blah':260,'blah':0,'needWrapper':{'NEED':'TEXTNEED','NEED':'TEXTNEED'}, 'blah':'blah'}"

print json.loads(s.replace("'", '"'))
# {u'blah': u'blah', u'needWrapper': {u'NEED': u'TEXTNEED'}}

现在您可以访问对象。

如果源来自 php,它应该能够生成带有双引号对象的有效 JSON: http ://www.php.net/manual/en/function.json-encode.php

于 2012-05-17T05:37:51.613 回答