擅长:python、mysql、java
<p>使用<code>str.index</code>查找json对象的起始位置,<code>re.sub</code>(将<code>"a": "123"</code>从<code>a:"123"</code>)与{<cd5>}(此处将单引号改为双引号:<code>['1','2']</code>)修复json:</p>
<pre><code>import json
import re
var = '''var myVar = { a: "123",b:"345", c: {c1:20,c2:"c123", c3: {c3_1: {c3_1_1:"12"}}}, d:21, e:['1','2']}'''
v = var[var.index('{'):]
v = re.sub(r'(\w*):', r'"\1":', v)
v = v.replace('\'', '\"')
>>> v
'{ "a": "123","b":"345", "c": {"c1":20,"c2":"c123", "c3": {"c3_1": {"c3_1_1":"12"}}}, "d":21, "e":["1","2"]}'
>>> json.loads(v)
{u'a': u'123', u'c': {u'c3': {u'c3_1': {u'c3_1_1': u'12'}}, u'c2': u'c123', u'c1': 20}, u'b': u'345', u'e': [u'1', u'2'], u'd': 21}
</code></pre>