파이썬 JSON 라이브러리

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'>

 

 

추천

출처www.cnblogs.com/mxk123/p/11923940.html