什么是JSON?

  1. JSON是一种轻量级的数据交互格式,采用完全独立于编程语言的文本格式来存储和表示数据。和xml相比,它更小巧,但描述能力却不差,更适合于在网络上传输数据。
  2. JSON是一种有着特殊格式的字符串,格式与对象或者数组是非常类似的,只不过属性名是带双引号的。
  3. JSON用于对象和数组的序列化。(序列化:格式转换)用于对象和数组与字符串进行相互转换。


JSON作用

与 XML一样,它是格式化数据的一种方式。Web 应用程序使用这种格式的数据来相互通信。

  • JSON.stringify(对象) stringify:字符串化,将对象字符串化
  • JSON.parse(字符串) parse:解析,将字符串解析为对象

在数据保存,数据传输过程中,不允许操作对象,只允许操作字符串。需要将对象转换为字符串。

在程序计算,运算过程中,操作字符串比较麻烦,会将字符串转换为对象。


JSON的使用

Python3 中可以使用 json 模块来对 JSON 数据进行编解码,它包含了两个函数:

  • json.dumps(): 对数据进行编码。
  • json.loads(): 对数据进行解码。

Python 编码为 JSON 类型转换对应表:
Python    JSON
dict    object
list, tuple    array
str    string
int, float, int- & float-derived Enums    number
True    true
False    false
None    null
JSON 解码为 Python 类型转换对应表:
JSON    Python
object    dict
array    list
string    str
number (int)    int
number (real)    float
true    True
false    False
null    None

示例代码

import json

# Python 字典类型转换为 JSON 对象

data1 = {

    'no': 1,

    'name': 'C君莫笑',

    'url': 'https://blog.csdn.net/qq_34623621?type=blog'

}

json_str = json.dumps(data1)

print("Python 原始数据:", repr(data1))

print("JSON 对象:", json_str)

# 将 JSON 对象转换为 Python 字典

data2 = json.loads(json_str)

print("data2['name']: ", data2['name'])

print("data2['url']: ", data2['url'])

如果你要处理的是文件而不是字符串,你可以使用 json.dump() 和 json.load() 来编码和解码JSON数据。

例如:

# 写入 JSON 数据

with open('data.json', 'w') as f:

    json.dump(data, f)

  

# 读取数据

with open('data.json', 'r') as f:

    data = json.load(f)


本章给大家介绍了Python中处理Json数据。很重要的内容,但是初学者很容易过分钻研,实则没什么必要,json在很多地方有很重要的应用,如果你的项目中用到了它,别忘了python中存在json这个很方便的工具。