Latest web development tutorials

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