Python 3 JSON 파일 읽 기
JSON (JavaScript Object Notation) 은 JavaScript 대상 표현 법 으로 경량급, 통용 되 는 텍스트 데이터 형식 입 니 다.JSON 문법 지원 대상 (Object), 배열 (Array), 문자열, 숫자 (int / float) 및 true / false 와 null.JSON 은 엄격 한 형식 을 가지 고 있 습 니 다. 주요 형식 은 다음 과 같 습 니 다.
{
"name": "Cactus",
"age": 18,
"skills": ["Python", "Java", "Go", "NodeJS"],
"has_blog": true,
"gf": null
}
JSON 과 Python 데이터 형식의 대응 관계
JSON 과 Python 의 사전 등 유형 을 일일이 대응 합 니 다.
JSON
Python
Object
자전.
Array
리스트
문자열
문자열
숫자.
숫자 (int / float)
true/false
True/False
null
Null
메모: Python 에서 JSON 은 일반적으로 JSON 문법 형식 에 맞 는 문자열 을 말 합 니 다. 사실은 하나의 문자열, 한 줄 또는 여러 줄 입 니 다.
JSON 문자열 과 Python 사전 의 상호 변환
왜 서로 변환 해 야 합 니까? JSON 은 문자열 로 전송 을 저장 하기 쉽 고 추출 값 이 불편 합 니 다.사전 은 메모리 의 데이터 구조 로 수치 추출 이 편리 하고 전송 과 저장 이 불편 하 다.
Python 이 가지 고 있 는 json 패 키 지 를 사용 하면 사전 과 JSON 문자열 의 상호 변환 을 완성 할 수 있 습 니 다.
예제 1, 사전 JSON 문자열 변환
import json
dict_var = {
'name': 'Cactus',
'age': 18,
'skills': ['Python', 'Java', 'Go', 'NodeJS'],
'has_blog': True,
'gf': None
}
print(json.dumps(dict_var))
print(json.dumps(dict_var, indent=2,sort_keys=True, ensure_ascii=False))
json. dumps () 지원 인자, indent 는 여러 줄 의 빈 칸 수, sortkeys 버튼 정렬 여부, ensureascii = False 는 ascii 를 확보 하지 않 고 중국어 등 특수 문 자 를 \ uXXX 로 바 꾸 지 않 는 등 결 과 를 표시 합 니 다.
{"name": "Cactus", "age": 18, "skills": ["Python", "Java", "Go", "NodeJS"], "has_blog": true, "gf": null}
{
"age": 18,
"gf": null,
"has_blog": true,
"name": "Cactus",
"skills": [
"Python",
"Java",
"Go",
"NodeJS"
]
}
예제 2, JSON 문자열 - > 사전
import json
json_str = '''{
"name": "Cactus",
"age": 18,
"skills": ["Python", "Java", "Go", "NodeJS"],
"has_blog": true,
"gf": null
}'''
print(json.loads(json_str))
결과 보이 기:
{'name': 'Cactus', 'age': 18, 'skills': ['Python', 'Java', 'Go', 'NodeJS'], 'has_blog': True, 'gf': None}
JSON 파일 과 사전 의 상호 변환
또한 사전 을 JSON 파일 로 저장 하거나 JSON 파일 에서 사전 으로 변환 할 수도 있 습 니 다.
import json
dict_var = {
'name': 'Cactus',
'age': 18,
'skills': ['Python', 'Java', 'Go', 'NodeJS'],
'has_blog': True,
'gf': None
}
with open("demo2.json", "w", encoding='utf-8') as f:
# json.dump(dict_var, f) #
json.dump(dict_var, f,indent=2,sort_keys=True, ensure_ascii=False) #
파일 demo 2. json 결과:
{
"age": 18,
"gf": null,
"has_blog": true,
"name": "Cactus",
"skills": [
"Python",
"Java",
"Go",
"NodeJS"
]
}
예제 4: JSON 파일 - > 사전
import json
with open("demo2.json", encoding="utf-8") as f:
data = json.load(f)
pritn(data)
결과 보이 기:
{'age': 18, 'gf': None, 'has_blog': True, 'name': 'Cactus', 'skills': ['Python', 'Java', 'Go', 'NodeJS']}
메모: 사전 이 JSON 으로 바 뀌 었 을 때 포 함 된 사전, 목록, 문자열, 숫자, True / False / none 등 만 지원 합 니 다. 날짜 대상 및 Python 의 다른 대상 은 서로 변환 해 야 합 니 다. 참고 할 수 있 습 니 다.https://python3-cookbook.readthedocs.io/zh_CN/latest/c06/p02_read-write_json_data.html
복잡 한 끼 워 넣 기 JSON 형식 을 해석 하려 면 JSONPath 를 사용 하 십시오.
다음으로 전송:https://www.cnblogs.com/superhin/p/11502830.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.