análise de dados Python3 JSON
JSON (JavaScript Object Notation) é um formato de intercâmbio de dados leve. É baseado em um sub-conjunto de ECMAScript.
módulo JSON Python3 pode ser usado para codificar e descodificar dados JSON, que contém duas funções:
- json.dumps (): codificar os dados.
- json.loads (): os dados são descodificados.
No processo de codec json, python e JSON tipo de tipos primitivos serão convertidos para o outro, o controle de transformação específica da seguinte forma:
Python JSON codificado como uma tabela de tipo de correspondência de conversão:
pitão | JSON |
---|---|
dict | objeto |
lista, tupla | ordem |
str | corda |
int, float, INT & flutuar derivado Enums | número |
verdadeiro | verdadeiro |
falso | falso |
nenhum | nulo |
JSON decodifica tabela de correspondência de conversão do tipo Python:
JSON | pitão |
---|---|
objeto | dict |
ordem | lista |
corda | str |
número (int) | int |
número (real) | flutuador |
verdadeiro | verdadeiro |
falso | falso |
nulo | nenhum |
json.dumps e exemplos json.loads
O exemplo a seguir demonstra estruturas de dados Python em 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)
Executar os resultados de saída do código acima:
Python 原始数据: {'url': 'http://www.w3big.com', 'no': 1, 'name': 'w3big'} JSON 对象: {"url": "http://www.w3big.com", "no": 1, "name": "w3big"}
Os resultados podem ser vistos através da saída, seguido pelos tipos simples codificando a sua saída repr () original é muito semelhante.
Em seguida, o exemplo acima, podemos converter uma seqüência codificada em JSON de volta para uma estrutura de dados 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'])
Executar os resultados de saída do código acima:
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
Se você quer lidar com o arquivo em vez de uma string, você pode usarjson.dump () e json.load ()para codificar e decodificar dados JSON. Por exemplo:
# 写入 JSON 数据 with open('data.json', 'w') as f: json.dump(data, f) # 读取数据 with open('data.json', 'r') as f: data = json.load(f)
Para mais informações, consulte: https://docs.python.org/3/library/json.html