> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 json 라이브러리의 작동 방법은 무엇입니까?

Python에서 json 라이브러리의 작동 방법은 무엇입니까?

PHPz
풀어 주다: 2023-05-11 17:52:06
앞으로
969명이 탐색했습니다.

    Concept

    • json은 범용 데이터 유형입니다

    • 일반적으로 인터페이스에서 반환되는 데이터 유형은 json

    • 은 사전처럼 보이고 형식은 k-v입니다.{}

    • 사실 json은 문자열입니다

    • 문자열은 키와 값으로 얻을 수 없으므로 먼저 사전으로 변환해야 합니다

    json 작업

    json을 사전으로 변환:

    loads 메서드

    import json
    res = json.loads(s)  # s是json类型的字符串
    print(res)  # 打印字典
    print(type(res))  # 打印res类型
    print(res.keys())  # 打印字典的所有key
    로그인 후 복사

    파일 작업

    f = open('stus.json',encoding='utf-8')
    content = f.read() # 使用loads()方法需要先读文件
    user_dic = json.loads(cotent)
    print(user_dic)
    로그인 후 복사

    로드 방법

    import json
    f = open('stus.json',encoding="utf-8")
    user_dic = json.load(f)
    print(user_dic)
    로그인 후 복사

    차이:

    loads()는 문자열을 전달하고, load()는 파일 객체를 전달합니다.

    load()를 사용할 때는 먼저 파일을 읽어야 하고, load( ) ,

    사전을 json 문자열로 변환할 필요는 없습니다

    파일에는 문자열만 쓸 수 있지만 사전을 json 문자열로 변환할 수 있습니다. json 문자열은 문자열이므로 문자열에 쓸 수 있습니다. file

    drums method

    stus = {'xiaojun':'123456','xiaohei':'7891','abc':'11111'}
    res2 = json.dumps(stus)   # 先把字典转成json
    print(res2)
    print(type(res2))
    로그인 후 복사

    파일 작업

    with open('stus.txt','w',encoding='utf-8') as f: # 打开文件
        f.write(res2)  # 在文件里写入转成的json串
    로그인 후 복사

    dump() method

    stus={'xiaojun':'123456','xiaohei':'7890','lrx':'111111'}
    file = open('stus2.json','w',encoding='utf-8') 
    json.dump(stus,file,indent,ensure_ascii=False)  # 直接写入文件中,ensure_ascii为False时内容输出显示正常的中文,而不是转码
    로그인 후 복사

    매개변수:

    • indent: 문자열 줄 변환 + 들여쓰기

    • ensure_ascii: ASCII 코드로 변환할지 여부

    차이점:

    dump()는 사용할 필요가 없습니다. write() 메서드는 해당 사전과 해당 파일만 작성하면 되고, .dumps()는 .write() 메서드를 사용하여 작성해야 합니다. 파일로 변환하려면 dump()를 사용하기 쉽지만 그렇지 않은 경우 파일을 조작해야 하거나 데이터베이스 또는 Excel에 내용을 저장해야 하는 경우 먼저 dump()를 사용하여 사전을 문자열로 변환해야 합니다. 그런 다음 쓰세요

    위 내용은 Python에서 json 라이브러리의 작동 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    원천:yisu.com
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿