이 기사는 Python의 json 직렬화에 대한 자세한 분석을 제공합니다. 이는 특정 참조 가치가 있으므로 도움이 될 수 있습니다.
이렇게 글을 쓰는 이유는 항상 헷갈리고 실수하기 쉽기 때문입니다. 혹시 괜찮다면 적어서 확인해보겠습니다
#🎜 🎜#직렬화의 의미 변수를 메모리에서 저장 가능 또는 전송 가능으로 변경하는 프로세스를 직렬화(덤프 또는 덤프 사용)라고 하며 직렬화된 개체에서 변수 내용을 다시 읽습니다#🎜 🎜## 🎜🎜#
메모리 내 역직렬화라고 합니다(로드 또는 로드 사용)다른 프로그래밍 언어를 사용하려는 경우 객체 간에 객체를 전달하려면 객체를 XML과 같은 표준 형식으로 직렬화해야 하지만 JSON
은 문자열로 표현되어 읽을 수 있으므로 JSON으로 직렬화하는 것이 더 좋은 방법입니다. 모든 언어로 쉽게 검색하거나 디스크에 저장하거나 네트워크를 통해 전송할 수 있습니다. JSON은 표준 형식일 뿐만 아니라 XML보다 빠르며 웹 페이지에서 직접 읽을 수 있어 매우 편리합니다. JSON과 Python의 대응 내장 데이터 유형은 다음과 같습니다.dumps() 메서드는 문자열을 반환하며 내용은 표준 JSON입니다. 마찬가지로, dump() 메서드는 JSON을 file_Object에 직접 쓸 수 있습니다. JSON을
Python 객체로 역직렬화하려면 load() 또는 해당 load() 메서드를 사용합니다. 전자는 JSON 문자열을 역직렬화하고, 후자는 file_Object 및 Deserialize#에서 문자열을 읽습니다. 🎜🎜#Instance
dumps객체 직렬화
data= { "广州市": { "番禺区": ["南村镇", "大石镇", "榄核镇"], "天河区": ["广州塔", "中信广场", "天河又一城"] } } s = json.dumps(data, sort_keys=True, indent=4, ensure_ascii=False) print(s)
#🎜 🎜## 🎜##🎜 🎜# #🎜 🎜# # 🎜 🎜## 🎜##🎜 🎜# #🎜 🎜#
# 🎜 🎜##dumps: 객체 직렬화 sort_keys: 키에 따라 정렬 indent: 들여쓰기 공백 4개, 출력은 읽기 친화적입니다. verify_ascii: ASCII가 아닌 코드(중국어 등)를 직렬화할 수 있습니다. #🎜🎜 ##🎜🎜 ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ##### 🎜🎜## 🎜🎜 ## 🎜🎜 #dump : 객체를 직렬화하고 저장합니다. 파일 🎜🎜 ## ## ## ## ## ## ## ## ## ## ## ## ## ## 🎜🎜 ######### ㅋㅋㅋ 🎜🎜 ## 🎜🎜# dump()의 첫 번째 매개변수는 직렬화할 객체이고 두 번째 매개변수는 open입니다. file 파일을 열 때 UTF-8 인코딩을 추가해주세요. 🎜🎜#
with open("data.json", "w", encoding="UTF-8") as f: s = json.dump(data, f, ensure_ascii=False)
运行此文件之后在统计目录下会有一个data.json文件
反序列化
load:从一个打开的文件句柄加载数据,注意打开的文件编码
with open("data.json", "r", encoding="UTF-8") as f: r = json.load(f) print(r)
loads: 从一个对象加载数据
a = json.loads(data) print(a)
不加ensure_ascii=False 结果是
加入ensure_ascii=False
a = json.loads(data,ensure_ascii=False) 要注意 print(a)
a=json.loads(input("请输入添加的数据:"),enconding='utf-8') print(a)
위 내용은 Python의 json 직렬화에 대한 자세한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!