Latest web development tutorials

Python3 JSON 데이터 분석

JSON (JavaScript Object Notation)은 경량 데이터 교환 형식이다. 그것은 인 ECMAScript의 서브 세트에 기초한다.

Python3의 JSON 모듈은 인코딩 두 가지 기능을 포함 JSON 데이터를 디코딩하는데 사용될 수있다 :

  • json.dumps () : 데이터를 인코딩.
  • json.loads는 () : 데이터는 디코딩된다.

JSON 코덱 공정에서, 기본형 파이썬과 JSON 타입이 서로 전환 될 특정 변환 제어는 다음과 같다 :

파이썬 JSON은 형식 변환 대응표로 인코딩 :

파이썬 JSON
DICT 목적
리스트, 튜플 배열
STR
INT, 플로트, INT-및 부동 파생 열거 형
참된 참된
그릇된 그릇된
없음 널 (null)

JSON은 파이썬 형식 변환 대응 테이블을 디코딩 :

JSON 파이썬
목적 DICT
배열 명부
STR
번호 (INT) INT
수 (실제) 플로트
참된 참된
그릇된 그릇된
널 (null) 없음

json.dumps 및 json.loads 예

다음의 예는 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)

위의 코드의 출력 결과를 실행합니다 :

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

그 결과 원래를 repr ()의 출력을 인코딩하여 단순 유형이어서, 출력을 통해 알 수있는 것은 매우 유사하다.

그런 다음 위의 예, 우리는 파이썬 데이터 구조에 다시 JSON 인코딩 된 문자열로 변환 할 수 있습니다 :

#!/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'])

위의 코드의 출력 결과를 실행합니다 :

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

대신 문자열의 파일이 처리하려는 경우, 당신은 인코딩 및 디코딩 JSON 데이터에()와 json.load ()를json.dump 사용할 수 있습니다. 예를 들면 :

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

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

자세한 내용을 참조하시기 바랍니다 https://docs.python.org/3/library/json.html