python下json模块

135 阅读1分钟

常用方法

json.dumps()用于将dict类型的数据转成str,因为如果直接将dict类型的数据写入json文件中会发生报错,因此在将数据写入时需要用到该函数.

语法:
json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)

json.loads()用于将str类型的数据转成dict.

语法:
json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

json.dump()用于将dict类型的数据转成str,并写入到json文件中

json.load()用于从json文件中读取数据

示例

import json
name_emb = {'a': '1111', 'b': '2222', 'c': '3333', 'd': '4444'}
emb_filename = ('/Users/xx/test/python_lib_test/test/test.json')

# solution 1 写入文件
# jsObj = json.dumps(name_emb)
# with open(emb_filename, "w") as f:
#     f.write(jsObj)

# solution 2
# json.dump(name_emb, open(emb_filename, "w"))

# 读取文件
jsObj = json.load(open(emb_filename))
print(jsObj)  # {'a': '1111', 'b': '2222', 'c': '3333', 'd': '4444'}
print(type(jsObj))  # <class 'dict'>
for key in jsObj.keys():
  print(
      'key: %s value: %s' % (key, jsObj.get(key))
  )  # key: a value: 1111 key: b value: 2222  key: c value: 3333 key: d value: 4444