操作json本质上是把字符串转成dict, 然后对dict进行增删改,最后再转成字符串,具体看代码
点击(此处)折叠或打开
- #!/usr/bin/python3
- import sys
- import os
- import json
- # 操作json本质上是把字符串转成dict, 然后对dict进行增删改,最后再转成字符串
- def TestJson(resFile):
- try:
- resFp = open(resFile, "r")
- dstJson = json.load(resFp)
- resFp.close()
- except Exception as e:
- dstJson = {}
- if 'hello' not in dstJson.keys():
- dstJson['hello'] = 'hello world!' #不存在则添加否修改
- print(dstJson['hello'])
- else:
- del dstJson['hello'] # 如果存在,则删除
- if 'list' not in dstJson.keys():
- dstJson['list'] = [1, 2] # 不存在则生成[1, 2]
- else:
- dstJson['list'].append(3) # 存在则添加一个3
- print(dstJson['list'])
- if 'dtest' not in dstJson.keys():
- dictAdd = {'dtest':'value'}
- dstJson.update(dictAdd) # dict合并dict
- strJson = json.dumps(dstJson)
- with open(resFile, 'w', encoding='utf-8') as of:
- of.write(strJson)
- of.close()
- if __name__ == '__main__':
- TestJson(sys.argv[1])