【json】文件&数据处理

使用python处理json文件数据。

json库

import json
函数描述
json.dumps 将 Python 对象编码成 JSON 字符串
json.loads 将已编码的 JSON 字符串解码为 Python 对象

1、json.dumps()和json.loads()是json格式处理函数(可以这么理解,json是字符串)
  (1)json.dumps()函数是将一个Python数据类型列表进行json格式的编码(可以这么理解,json.dumps()函数是将字典转化为字符串)
  (2)json.loads()函数是将json格式数据转换为字典(可以这么理解,json.loads()函数是将字符串转化为字典)

2、json.dump()和json.load()主要用来读写json文件函数

dump: 是将dict类型转换为json格式字符串,存入文件
dumps: 是将dict转换为string
load: 是将里json格式字符串转化为dict,读取文件
loads: 是将string转换为dict

参考[2],和[3]。

json数据

json有两种数据结构:对象和数组。

对象:用大括号表示,由键值对组成,每个键值对用逗号隔开。其中key必须为字符串且是双引号,value可以是多种数据类型。
数组:用中括号表示,每个元素之间用逗号隔开。

json中的字符串都要用双括号表示。

json数据可以嵌套表示出结构更加复杂的数据。

将python数据与json数据相互转化:

python数据转成json字符串:json_data = json.dumps(python_data)
json字符串转成python对象:python_data = json.loads(json_data)

参考CSDN博客

文件处理

文件名为'filename.json'

1.把一个python类型数据直接写入json文件
json.dump(pydata, open(‘filename.json’, “w”))

2.直接从json文件中读取数据返回一个python对象
pydata = json.load(open(‘filename.json’))

报错处理

【json写入问题:TypeError: Object of type float32 is not JSON serializable】 参考:https://www.jianshu.com/p/3339250dda8f 

Json的标准格式是不支持单引号型字符串的,否则会出现以下错误:

  • json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column2(char1)

参考

[1] https://blog.csdn.net/ko_tin/article/details/72472793

[2] https://www.cnblogs.com/bigtreei/p/10466518.html

[3] https://www.cnblogs.com/hjianhui/p/10387057.html

posted @ 2020-01-15 10:20  Skye_Zhao  阅读(594)  评论(0编辑  收藏  举报