Analiza danych Python3 JSON

JSON (JavaScript Object Notation) to lekki format wymiany danych. Jest on oparty na podzbiorze ECMAScript.

Moduł json Python3 mogą być wykorzystywane do kodowania i dekodowania danych JSON, który zawiera dwie funkcje:

  • json.dumps (): kodowanie danych.
  • json.loads (): dane są dekodowane.

W procesie json kodeka, Python i json typ prymitywnych typów zostaną zamienione ze sobą, specyficzna kontrola transformacji w następujący sposób:

Python JSON zakodowane w postaci tabeli konwersji typu korespondencji:

pyton JSON
DICT przedmiot
lista, krotka szyk
Str sznur
int, float, INT i unosić pochodzące z wyliczenia liczba
prawdziwy prawdziwy
fałszywy fałszywy
żaden NULL

JSON dekoduje typu Python tabeli korelacji konwersji:

JSON pyton
przedmiot DICT
szyk lista
sznur Str
numer (int) int
numer (real) pływak
prawdziwy prawdziwy
fałszywy fałszywy
NULL żaden

json.dumps i json.loads przykłady

Poniższy przykład pokazuje, struktur danych w Pythonie do JSON:

#!/usr/bin/python3

import json

# Python 字典类型转换为 JSON 对象
data = {
    'no' : 1,
    'name' : 'w3big',
    'url' : 'http://www.w3write.com'
}

json_str = json.dumps(data)
print ("Python 原始数据:", repr(data))
print ("JSON 对象:", json_str)

Wykonaj powyższe wyniki wyjściowe Kod:

Python 原始数据: {'url': 'http://www.w3write.com', 'no': 1, 'name': 'w3big'}
JSON 对象: {"url": "http://www.w3write.com", "no": 1, "name": "w3big"}

Wyniki można zobaczyć poprzez wyjście, a następnie przez zwykłe rodzaje przez kodowanie swoją wyjściową reprezentujący () wyjście jest bardzo podobne.

Następnie w powyższym przykładzie, możemy przekonwertować ciąg JSON zakodowane z powrotem do struktury danych Python:

#!/usr/bin/python3

import json

# Python 字典类型转换为 JSON 对象
data1 = {
    'no' : 1,
    'name' : 'w3big',
    'url' : 'http://www.w3write.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'])

Wykonaj powyższe wyniki wyjściowe Kod:

ython 原始数据: {'name': 'w3big', 'no': 1, 'url': 'http://www.w3write.com'}
JSON 对象: {"name": "w3big", "no": 1, "url": "http://www.w3write.com"}
data2['name']:  w3big
data2['url']:  http://www.w3write.com

Jeśli chcesz się zajmować jest plik zamiast łańcucha, można użyćjson.dump () i json.load ()do kodowania i dekodowania danych JSON. Na przykład:

# 写入 JSON 数据
with open('data.json', 'w') as f:
    json.dump(data, f)

# 读取数据
with open('data.json', 'r') as f:
    data = json.load(f)

Aby uzyskać więcej informacji, zapoznaj się z: https://docs.python.org/3/library/json