JSON (JavaScript Object Notation)은 쉽게 읽기 및 쓰기 위해, 경량 데이터 교환 형식입니다.
사용 1.json 라이브러리
사용 JSON JSON 라이브러리 기능을 가져와야 : 가져 오기 JSON을 .
기능 | 기술 |
---|---|
json.dumps | JSON 문자열 파이썬 객체를 인코딩 |
json.loads | 인코딩 된 JSON 문자열을 파이썬 객체를 디코딩 |
JSON 문자열로 파이썬 객체를 인코딩 1. json.dumps.
문법
json.dumps (allow_nan = 사실, CLS = 없음, 들여 쓰기 = 없음, 분리 = 없음, 인코딩 = "UTF-8", 기본값 = 없음, sort_keys = 거짓, OBJ, skipkeys = 거짓, ensure_ascii = 사실, check_circular = 사실, ** kw)
예를 들어 JSON 문자열로 파이썬 객체들의 어레이
#!는 / usr / 빈 / 파이썬 수입 된 JSON 데이터 = [{ '이름': '张三', '나이': 25}, { '이름': '李四', '나이': 26}] jsonStr = JSON .dumps (데이터)를 인쇄 (jsonStr)
결과 :
[{ "이름": "\ u5f20 \ u4e09", "나이": 25}, { "이름": "\ u674e \ u56db", "나이": 26}]
예를 들어 보자 JSON 데이터 출력 포맷 :
#!는 / usr / 빈 / 파이썬 수입 된 JSON 데이터 = [{ '이름': '张三', '나이': 25}, { '이름': '李四', '나이': 26}] jsonStr = JSON .dumps (데이터 sort_keys = TRUE, 오목 = 4, 세퍼레이터 = ( '' '')) 프린트 (jsonStr)
결과 :
[
{
"나이": 25,
"이름": "\ u5f20 \ u4e09"
},
{
"나이": 26,
"이름": "\ u674e \ u56db"
}
]
객체가 한자로 변환 할 때 JSON 파이썬을 말하는 문자열에서 유니 코드 문자에 서식 위, 유니 코드로 변환하지 않을 경우, 다음과 같은 방법을 사용할 수 있습니다 :
#!는 / usr / 빈 / 파이썬 수입 된 JSON 데이터 = [{ '이름': '张三', '나이': 25}, { '이름': '李四', '나이': 26}] jsonStr = JSON .dumps (데이터 ensure_ascii = 거짓) 인쇄 (유형 (jsonStr)) 프린트 (jsonStr)
결과 :
<클래스 'STR'>
[{ "이름": "张三」, 「연령」: 25}, {"이름 ":"李四」, 「연령」: 26}]
변환 테이블 JSON 형식의 파이썬 원래 유형 :
파이썬 | JSON |
---|---|
DICT | 목적 |
리스트, 튜플 | 정렬 |
STR, 유니 코드 | 끈 |
INT, 긴, 플로트 | 번호 |
참된 | 참된 |
그릇된 | 그릇된 |
없음 | 없는 |
2. json.loads JSON 데이터를 디코딩. 이 기능은 필드 데이터 형식 파이썬을 반환합니다.
문법
json.loads (S [[인코딩 CLS [object_hook [parse_float [parse_int [parse_constant [object_pairs_hook [** kw]]]]]]]])
예를 들어 : JSON 문자열은 회전 평 객체
#! / usr / bin / python 부분을 가져 오기 JSON 데이터 = [{ '이름': '홍길동', '나이': 25} , { '이름': ' 홍길동이', '나이'(26)는}] jsonStr = JSON .dumps (데이터) 인쇄 (jsonStr) jsonObj = json.loads (jsonStr) 인쇄 (jsonObj) #는 제 1 세트의 획득 인쇄 (jsonObj [1])
결과
[{ "이름": "\ u5f20 \ u4e09", "나이": 25}, { "이름": "\ u674e \ u56db", "나이": 26}]
[{ '이름': '张三' '나이': 25}, { '이름': '李四', '나이': 26}]
{ '이름': '李四', '나이': 26}
파이썬의 유형에 JSON 형식 변환 테이블 :
JSON | 파이썬 |
---|---|
목적 | DICT |
정렬 | 명부 |
끈 | 유니 코드 |
번호 (INT) | INT, 긴 |
수 (실제) | 흙손 |
참된 | 참된 |
그릇된 | 그릇된 |
없는 | 없음 |
2. Demjson 사용 타사 라이브러리
Demjson 파이썬 타사 모듈은 포맷, 인코딩 및 디코딩 JSON 데이터를 저장하는 데 사용하고 JSONLint 체크 기능을 포함 할 수있다, 도서관이다.
모듈 설치 (1)
(1) 다운로드
https://github.com/dmeranda/demjson
설치 후 (2) 추출
$ PWD의 /c/Users/Administrator/Desktop/pytest/pymodule/demjson-release-2.2.4의 MicroWin10-1535 MINGW64 ~ / 데스크탑 / pytest / pymodule / demjson - 릴리스 2.2.4 @ 관리자 $ 파이썬은 setup.py 설치
2. JSON 기능
기능 | 기술 |
---|---|
인코딩 | JSON 문자열 파이썬 객체를 인코딩 |
풀다 | 인코딩 된 JSON 문자열을 파이썬 객체를 디코딩 |
(1) 인코딩 () 함수는 파이썬 JSON 문자열로 객체를 부호화하는데 사용된다.
문법
demjson.encode (자기, OBJ, nest_level = 0)
예를 들면 :
#! / USR / 빈 / 파이썬 수입 demjson의 데이터 = { '은'1 ', B': 2 ', C': 3 'D': 4 ', E': 5}] JSON = demjson.encode (데이터)를 인쇄 (JSON)
결과 :
[{ "A"1 "B": 2 "C": 3 "D"4, "E"5}]
(2) demjson.decode () JSON 데이터를 디코딩하는 기능. 이 기능은 필드 데이터 형식 파이썬을 반환합니다.
구문 :
demjson.decode (자기, TXT)
예를 들면 : JSON JSON 객체에 문자열 :
#!는 / usr / 빈 / 파이썬 demjson 수입 = jsonData '{ "이름": "张三", "나이": 20, "섹스": "男"}'; OBJ = demjson.decode (jsonData) 인쇄 (OBJ) 인쇄 (유형 (OBJ))
결과 :
{ '이름': '홍길동', '나이'20 '섹스': ' M'}
<클래스 'DICT'>