#encoding=utf-8
#python2.7
'''
通过这个网站可以检验json格式:http://www.bejson.com/
re正则表达式:http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
'''
import re
import json
# with open("74508.txt","r") as fr: #需要先将文本分行,最初的文本未分行。
# c=fr.readline()
with open("74508.txt","r") as fr:
c=fr.read().replace("{u'meta':","\n{u'meta':")[1:].split("\n")[0]
c=re.sub("\\\\","",c) #去除反斜杠以及乱码
p=re.compile(r'([^u])(")([a-zA-Z>])') #处理文本中的html标签中的双引号,将其替换为别的符号
# c=p.subn(r'\1'+r'@@'+r'\3',c)[0]
c=p.subn(r'\1'+r'\\'+r'\2'+r'\3',c)[0]
c=re.sub("u'",'"',c) #处理u',将其转为双引号
p2=re.compile(r"(')([^a-zA-Z])") #处理结尾的单引号,将其转为双引号
c=p2.subn(r'"'+r'\2',c)[0]
c=re.sub('u"','"',c) #处理u",将其转为双引号
c=re.sub("True",'"True"',c)
c=re.sub("False",'"False"',c)
p3=re.compile(r'([\s\:])(\d+?)(L)') #处理带L的数字
c=p3.subn(r'\1'+'"'+r'\2\3'+'"',c)[0]
p4=re.compile(r'([a-zA-Z])(")([a-zA-Z])')
c=p4.subn(r'\1'+r'\\'+r'\2'+r'\3',c)[0]
result=json.loads(c)
print(result['meta'])
python json 各种奇葩错误解决示例
最新推荐文章于 2023-05-09 14:51:06 发布