用到了json解析相关的库,记录下。
官方文档
https://docs.python.org/2/library/json.html?highlight=json.loads#basic-usage
基本读写
主要是几个函数:
load、loads、dump
解析成功后,直接用
jsonContent[key] = value
可以直接修改数据
load载入文件并解析
loads载入字符串并解析
dump将内容格式化输出
有中文及注释的json文件的读写
python 2.7 自带的json模块,目前无法处理带有注释的json文件,被坑了一整天。
中文应该是无障碍的。注意utf-8字符处理即可。
写入文件的时候可能会提示:
UnicodeEncodeError: 'ascii' codec can't encode characters in position ...
之类的一串,解决办法是使用
import codecs
f = codecs.open("pru_uni.txt", "w", "utf-8")
fJson = open('a.txt', 'r')
contentString = fJson.read()
fJson.close()
# 直接处理字符串 先找到key,然后找结尾的',',然后直接替换处理
stPos = contentString.find(keyName)
if stPos != -1:
edPos = contentString.find(',', stPos)
srcString = contentString[stPos-1:edPos]
destString = '"%s":"%s"' % (keyName, destValue)
print 'src:%s dest:%s' % (srcString, destString)
contentString = contentString.replace(srcString, destString)
else:
print '%s not find' % keyName
# 写入文件
fJsonOut = codecs.open('b.txt', 'w', 'utf-8')
fJsonOut.write(contentString.decode('utf-8'))
fJsonOut.close()