Python中JSON的简单使用

192 阅读2分钟

「这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战

来个书面化讲解:
什么是JSON?
JSON (JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。它基于 ECMAScript (w3c制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于人阅读和编写。
是用来存储和交换文本信息的语法。

son,是一种数据格式,在与后端的数据交互中有较为广泛的应用。

数据在名称/值对中
数据由逗号分隔
大括号保存对象
中括号保存数组

使用 JSON 函数需要导入 json 库:import json。

json,用于字符串 和 python数据类型间进行转换json模块提供了四个功能:dumps、dump、loads、load

  1. json.dumps 将 Python 对象编码成 JSON 数据
  2. json.dump 将 JSON 数据通过特殊的形式转换为只有 Python 认识的字符串并写入文件
  3. json.loads 将已编码的 JSON 数据解码为 Python 对象
  4. json.load 将一个包含 JSON 格式数据的可读文件解码为一个 Python 对象并写入文件

一,python对象和JSON字符串相互转换:

  1. json.dumps 将Python对象编码成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 数据格式化输出:

import json
print json.dumps({'a': 'Runoob', 'b': 7}, sort_keys=True, indent=4, separators=(',', ': '))
输出为:
{
    "a": "Runoob",
    "b": 7
}

python原始类型向json类型的转换对照表:

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

例子:
将数组编码为JSON格式数据。

import json
data = [{'a':1,'b':2,'c':3,'d':4,'e':5}]
json = json.dumps(data)
print json          执行结果为:[{"a":1,"c":3,"b":2,"e":5,"d":4}]

2. json.loads 用于解码JSON数据。该函数返回Python字段的数据类型。

语法:

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

JSON: JavaScript Object Notation(JavaScript 对象表示法)

JSON 是存储和交换文本信息的语法,类似 XML。

JSON 比 XML 更小、更快,更易解析。

例如:

Python解码JSON对象。
import json
jsonData = '{"a":1,"b":2,"c":3,"d":4,"e":5}';
text = json.loads(jsonData)
print(text)    输出结果为:  {'a': 1, 'c': 3, 'b':  2, 'e': 5, 'd': 4}

json类型转换到python的类型对照表:
JSON: Python:
object dict
array list
string unicode
number(int) int,long
number(real) float
true True
false False
null None