análisis de datos JSON python3
JSON (JavaScript Object Notation) es un formato de intercambio de datos ligero. Se basa en un subconjunto de ECMAScript.
módulo json python3 se puede utilizar para codificar y decodificar datos JSON, que contiene dos funciones:
- json.dumps (): la codificación de datos.
- json.loads (): se decodifican datos.
En proceso de códec JSON, pitón y JSON tipo de tipos primitivos se convertirá en uno al otro, el control de transformación específico de la siguiente manera:
Python JSON codificado como una tabla de conversión de tipo de correspondencia:
pitón | JSON |
---|---|
dict | objeto |
lista, tupla | formación |
str | cadena |
int, float, enumeraciones INT y derivados de flotar | número |
verdadero | verdadero |
falso | falso |
ninguno | nulo |
JSON decodifica la tabla de correspondencia de conversión de tipo de Python:
JSON | pitón |
---|---|
objeto | dict |
formación | lista |
cadena | str |
número (int) | int |
número (real) | flotador |
verdadero | verdadero |
falso | falso |
nulo | ninguno |
json.dumps y ejemplos json.loads
El siguiente ejemplo muestra las estructuras de datos de Python en JSON:
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data = { 'no' : 1, 'name' : 'w3big', 'url' : 'http://www.w3big.com' } json_str = json.dumps(data) print ("Python 原始数据:", repr(data)) print ("JSON 对象:", json_str)
Ejecutar los resultados de la salida el código de seguridad:
Python 原始数据: {'url': 'http://www.w3big.com', 'no': 1, 'name': 'w3big'} JSON 对象: {"url": "http://www.w3big.com", "no": 1, "name": "w3big"}
Los resultados se pueden ver a través de la salida, seguido por los tipos simples mediante la codificación de su salida repr original () es muy similar.
A continuación, el ejemplo anterior, se puede convertir una cadena JSON-codificado de nuevo a una estructura de datos de Python:
#!/usr/bin/python3 import json # Python 字典类型转换为 JSON 对象 data1 = { 'no' : 1, 'name' : 'w3big', 'url' : 'http://www.w3big.com' } 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'])
Ejecutar los resultados de la salida el código de seguridad:
ython 原始数据: {'name': 'w3big', 'no': 1, 'url': 'http://www.w3big.com'} JSON 对象: {"name": "w3big", "no": 1, "url": "http://www.w3big.com"} data2['name']: w3big data2['url']: http://www.w3big.com
Si desea tratar es el archivo en lugar de una cadena, puede utilizarjson.dump () y json.load ()para codificar y decodificar los datos JSON. Por ejemplo:
# 写入 JSON 数据 with open('data.json', 'w') as f: json.dump(data, f) # 读取数据 with open('data.json', 'r') as f: data = json.load(f)
Para obtener más información, consulte: https://docs.python.org/3/library/json.html