>  기사  >  백엔드 개발  >  Python의 json 직렬화에 대한 자세한 분석

Python의 json 직렬화에 대한 자세한 분석

不言
不言앞으로
2018-09-30 14:02:472735검색

이 기사는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제