JSON(JavaScript Object Notation)은 경량 데이터 교환 형식입니다. ECMAScript의 하위 집합을 기반으로 합니다. JSON은 완전히 언어 독립적인 텍스트 형식을 사용하지만 C 언어 계열(C, C++, Java, JavaScript, Perl, Python 등 포함)과 유사한 규칙도 사용합니다. 이러한 속성은 JSON을 이상적인 데이터 교환 언어로 만듭니다. 사람이 읽고 쓰기가 쉽고, 기계가 구문 분석하고 생성하기도 쉽습니다(일반적으로 네트워크 전송 속도를 높이는 데 사용됨).
JSON은 Python에서 각각 list와 dict로 구성됩니다.
직렬화를 위한 두 가지 모듈은 다음과 같습니다.
json: 문자열과 Python 데이터 유형 간 변환에 사용됩니다.
pickle: Python 특정 유형과 Python 데이터 유형 간 변환에 사용됩니다.
Json 모듈은 dump, dump, load, load의 네 가지 기능을 제공합니다
pickle 모듈은 네 가지 기능을 제공합니다. : 덤프, 덤프, 로드, 로드
json 덤프 데이터 유형을 문자열로 변환 덤프 데이터 유형을 문자열로 변환하여 파일에 저장 로드 문자열을 데이터 유형으로 변환 로드 파일 열기 변환 문자열에서 데이터 유형으로
json은 서로 다른 언어 간에 데이터를 교환할 수 있지만 피클은 Python 간에만 사용됩니다. JSON은 가장 기본적인 데이터 유형만 직렬화할 수 있으며 JSON은 날짜 형식 및 클래스 객체와 같이 일반적으로 사용되는 데이터 유형(목록, 사전, 목록, 문자열, 숫자 등)만 직렬화할 수 있습니다! 존은 할 수 없어. Pickle은 클래스와 함수를 포함한 모든 데이터 유형을 직렬화할 수 있습니다.
예:
dumps: Python의 사전을 문자열로 변환
import json test_dict = {'bigberg': [7600, {1: [['iPhone', 6300], ['Bike', 800], ['shirt', 300]]}]} print(test_dict) print(type(test_dict)) #dumps 将数据转换成字符串 json_str = json.dumps(test_dict) print(json_str) print(type(json_str))
loads: 문자열을 사전으로 변환
new_dict = json.loads(json_str) print(new_dict) print(type(new_dict))
dump: json 파일에 데이터 쓰기
with open("../config/record.json","w") as f: json.dump(new_dict,f) print("加载入文件完成...")
load: 파일을 열고 문자열을 넣습니다. 데이터로 변환
with open("../config/record.json",'r') as load_f: load_dict = json.load(load_f) print(load_dict) load_dict['smallberg'] = [8200,{1:[['Python',81],['shirt',300]]}] print(load_dict) with open("../config/record.json","w") as dump_f: json.dump(load_dict,dump_f)
위 내용은 Python을 사용하여 json 파일을 읽고 쓰는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!