• 主页

  • 投资

  • IT

    🔥
  • 设计

  • 销售

关闭

返回栏目

关闭

返回python栏目

36 - 数据类型 - JSON - j = {"A":"a",} - 操作

作者:

贺及楼

成为作者

更新日期:2024-12-02 10:52:10

数据类型 - JSON

json的简介

Python 中的 json 模块用于处理 JSON 数据格式,它允许你将 Python 对象转换成 JSON 格式字符串,以及将 JSON 格式字符串解析成 Python 对象。JSON 是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。它支持的数据结构包括数字、字符串、布尔值、数组(Python 中的列表)和字典。json 模块在处理网络通信、配置文件、数据存储等方面非常有用。

从python转为json的官方数据格式为

python JSON
dict object
list,tuple array
str,unicode string
int,long,float number
True true
False false
None null

从son转为python的言方数据格式为:

python JSON
object dict
array list
string unicode
number (int) int,long
number (real) float
true True
false False
null None
类型 定义 > 方法 > 定义 类型
python的str jsonData = '{"a":1,"b":2}' > data_dict = json.loads(jsonData) > data_dict = {'a': 1, 'b': 2} python的dict
JSON文件 with open("jdata.json",'r') as load_f: > load_dict = json.load(load_f) > data_dict = {'a': 1, 'b': 2} python的dict
python的dict data = [{'a': 1, 'b': 2}] > data_str = json.dumps(data) > data_str = '[{'a': 1, 'b': 2}]' JSON/python的str
python的dict data = { 'a': 1, 'b': 2} > json.dump(data,f,indent) > [{'a': 1, 'b': 2}] JSON文件

导入

  1. import json

读 从 字符串JSON —> dict字典 - json.loads()

  1. import json
  2. ## 注意!逗号不可以写多
  3. ## 注意!不能用单引号要双引号
  4. jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}'
  5. data_dict = json.loads(jsonData)
  6. print(data_dict)

json读成dict

读 从 JSON文件 —> dict字典 - json.load()

  1. with open("jdata.json",'r') as load_f:
  2. data_dict = json.load(load_f)

从json文件读成dict
可以看见已经把文件名为jdata.json的数据读取到python里
更多有关open打开文件夹的更多可以查看自带方法 - open() - 读写文件

写 从 dict字典 —> 字符串JSON —> Excel数据库 - json.dumps

  1. import json
  2. data = [ { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 } ]
  3. data_str = json.dumps(data,ensure_ascii=False)
  4. ## ensure_ascii=False # 'u111'转成中文
  5. print(type(data_str)
  6. print(data_str)
  7. <class 'str'>
  8. [{"a": 1, "b": 2, "c": 3, "d": 4, "e": 5}]

dict转换JSON
可以看见data_str的字符类型已经变成str格式

写 从 dict字典 —> 字符串JSON —> JSON文件 - json.dump

  1. import json
  2. data = { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 }
  3. f = open('jdata.json','w',encoding='utf-8')
  4. json.dump(data,f,ensure_ascii=False)
  5. ## ensure_ascii=False # 'u111'转成中文

dict转成字符串JSON
可以看见生成的jdata.json已经生成,但是没有换行、缩进格式

参数indent,为字符串转行 + 缩进

  1. '''
  2. {
  3. "xiaojun": "123456",
  4. "xiaohei": "7891",
  5. "lrx": "hailong",
  6. "tanailing": "111111"
  7. }
  8. '''
  1. import json
  2. data = { 'a' : 1, 'b' : 2, 'c' : 3, 'd' : 4, 'e' : 5 }
  3. f = open('jdata.json','w',encoding='utf-8')
  4. json.dump(data,f,ensure_ascii=False)
  5. ## ensure_ascii=False # 'u111'转成中文

indent为字符串换行+缩进

可以看见生成的jdata.json与上一个例子增加了换行、缩进格式