" />

最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳細(xì)解讀python操作json文件的詳細(xì)

 更新時(shí)間:2021年12月07日 14:45:01   作者:哆啦A夢(mèng)__-  
這篇文章主要為大家介紹了python操作json文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助

json轉(zhuǎn)化為python表示反序列化

python轉(zhuǎn)化為json表示為序列化

json是python的內(nèi)置模塊,不需要安裝

json支持的格式:

Json Python
對(duì)象(object) 字典(dict)
數(shù)組(array) 列表(list)
字符串(string) 字符串(str)
整數(shù)(int) 整數(shù)(int)
實(shí)數(shù)(float) 實(shí)數(shù)(float)
true True
false False
null None

代碼操作

1.json轉(zhuǎn)化為python

json提供的兩個(gè)函數(shù)支持json字符串反序列化為一個(gè)python對(duì)象

json.loads(s)
其中s表示字符串

import json

str_json = '{"name":"張三","age":24}'
res = json.loads(str_json)
print(res, type(res))  #{'name': '張三', 'age': 24} <class 'dict'>

json.load(fb)
fb:表示為文件對(duì)象test.json

test.json

{
  "name":"張三",
  "age":24,
  "friends": [{
    "name": "李四",
    "age": 23
  },
    {
      "name": "王麻子",
      "age": 24
    }],
  "hobby": ["玩游戲","看電影"]
}
import json

with open('test.json', 'r', encoding='utf-8') as f:
    res = json.load(f)
    print(res, type(res))
  # {'name': '張三', 'age': 24, 'friends': [{'name': '李四', 'age': 23}, {'name': '王麻子', 'age': 24}], 'hobby': ['玩游戲', '看電影']} <class 'dict'>

json字符串一般不會(huì)單獨(dú)出現(xiàn)

json.loads('"test"')  #'test'

一般會(huì)放在字典或者列表中

json.loads('["test1","test2","test3"]')  #['test1','test2','test3']

2. python序列化為json

json.dumps(obj,ensure_ascii=True,indent=None,sort_keys=False)

  • obj:表示為python 對(duì)象
  • ensure_ascii: 默認(rèn)為 True,輸出保證將所有輸入的非 ASCII 字符轉(zhuǎn)義。如果 ensure_ascii 是 False,這些字符會(huì)原樣輸出。
  • indent:一個(gè)非負(fù)整數(shù)或者字符串,JSON 數(shù)組元素和對(duì)象成員會(huì)被美化輸出為該值指定的縮進(jìn)等級(jí)。如果縮進(jìn)等級(jí)為零、負(fù)數(shù)或者 “”,則只會(huì)添加換行符。None(默認(rèn)值)選擇最緊湊的表達(dá)。使用一個(gè)正整數(shù)會(huì)讓每一層縮進(jìn)同樣數(shù)量的空格。如果?indent?是一個(gè)字符串(比如 "\t''),那個(gè)字符串會(huì)被用于縮進(jìn)每一層。
  • sort_keys:為 True(more 為 False),表示字典的輸出會(huì)以鍵的順序排序。
import json

data = {
  "name":"張三",
  "age":24,
  "friends": [{
    "name": "李四",
    "age": 23
  },
    {
      "name": "王麻子",
      "age": 24
    }],
  "hobby": ["玩游戲","看電影"]
}
res = json.dumps(data,ensure_ascii=False,indent=2, )
print(res, type(res))

打印的結(jié)果為

{
? "name": "張三",
? "age": 24,
? "friends": [
??? {
????? "name": "李四",
????? "age": 23
??? },
??? {
????? "name": "王麻子",
????? "age": 24
??? }
? ],
? "hobby": [
??? "玩游戲",
??? "看電影"
? ]
} <class 'str'>

json.dump(obj,fb,ensure_ascii=True,indent=None,sort_keys=False)

  • obj:表示為python對(duì)象
  • fb:表示為文本寫(xiě)打開(kāi)的文件對(duì)象
import json

data = {
  "name":"張三",
  "age":24,
  "friends": [{
    "name": "李四",
    "age": 23
  },
    {
      "name": "王麻子",
      "age": 24
    }],
  "hobby": ["玩游戲","看電影"]
}
with open('test1.json', 'w', encoding='utf-8') as f:
    json.dump(data, fp=f, ensure_ascii=False, indent=2)

寫(xiě)入的結(jié)果為

test1.json

{
  "name": "張三",
  "age": 24,
  "friends": [
    {
      "name": "李四",
      "age": 23
    },
    {
      "name": "王麻子",
      "age": 24
    }
  ],
  "hobby": [
    "玩游戲",
    "看電影"
  ]
}

總結(jié)

本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • pycharm部署、配置anaconda環(huán)境的教程

    pycharm部署、配置anaconda環(huán)境的教程

    PyCharm是一款很好用很流行的python編輯器。Anaconda是專(zhuān)注于數(shù)據(jù)分析的Python發(fā)行版本,包含了conda、Python等190多個(gè)科學(xué)包及其依賴(lài)項(xiàng),這篇文章主要介紹了pycharm部署、配置anaconda環(huán)境的教程,需要的朋友可以參考下
    2020-03-03
  • Python第三方庫(kù)xlrd/xlwt的安裝與讀寫(xiě)Excel表格

    Python第三方庫(kù)xlrd/xlwt的安裝與讀寫(xiě)Excel表格

    最近開(kāi)始學(xué)習(xí)python,想做做簡(jiǎn)單的自動(dòng)化測(cè)試,需要讀寫(xiě)excel,于是就接觸到了Python的第三方庫(kù)xlrd和xlwt,下面這篇文章就給大家主要介紹了Python中第三方庫(kù)xlrd/xlwt的安裝與讀寫(xiě)Excel表格的方法,需要的朋友可以參考借鑒。
    2017-01-01
  • 查找python項(xiàng)目依賴(lài)并生成requirements.txt的方法

    查找python項(xiàng)目依賴(lài)并生成requirements.txt的方法

    今天小編就為大家分享一篇查找python項(xiàng)目依賴(lài)并生成requirements.txt的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • python教程命名元組示例分析

    python教程命名元組示例分析

    這篇文章是python教程篇,主要為大家介紹了Python中命名元組的示例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2021-09-09
  • 淺談python中的面向?qū)ο蠛皖?lèi)的基本語(yǔ)法

    淺談python中的面向?qū)ο蠛皖?lèi)的基本語(yǔ)法

    下面小編就為大家?guī)?lái)一篇淺談python中的面向?qū)ο蠛皖?lèi)的基本語(yǔ)法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-06-06
  • Python復(fù)制文件的9個(gè)方法小結(jié)

    Python復(fù)制文件的9個(gè)方法小結(jié)

    本文主要介紹了Python復(fù)制文件的9個(gè)方法小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • Python數(shù)據(jù)可視化 pyecharts實(shí)現(xiàn)各種統(tǒng)計(jì)圖表過(guò)程詳解

    Python數(shù)據(jù)可視化 pyecharts實(shí)現(xiàn)各種統(tǒng)計(jì)圖表過(guò)程詳解

    這篇文章主要介紹了Python數(shù)據(jù)可視化 pyecharts實(shí)現(xiàn)各種統(tǒng)計(jì)圖表過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • Pygame游戲開(kāi)發(fā)之太空射擊實(shí)戰(zhàn)子彈與碰撞處理篇

    Pygame游戲開(kāi)發(fā)之太空射擊實(shí)戰(zhàn)子彈與碰撞處理篇

    相信大多數(shù)8090后都玩過(guò)太空射擊游戲,在過(guò)去游戲不多的年代太空射擊自然屬于經(jīng)典好玩的一款了,今天我們來(lái)自己動(dòng)手實(shí)現(xiàn)它,在編寫(xiě)學(xué)習(xí)中回顧過(guò)往展望未來(lái),下面開(kāi)始講解子彈與碰撞處理,在本課中,我們將添加玩家與敵人之間的碰撞,以及添加供玩家射擊的子彈
    2022-08-08
  • 基于python 爬蟲(chóng)爬到含空格的url的處理方法

    基于python 爬蟲(chóng)爬到含空格的url的處理方法

    今天小編就為大家分享一篇基于python 爬蟲(chóng)爬到含空格的url的處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 利用python爬取有道詞典的方法

    利用python爬取有道詞典的方法

    這篇文章主要介紹了python爬取有道詞典的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12

最新評(píng)論

澄城县| 青浦区| 迁安市| 丹棱县| 禄丰县| 大埔区| 宁海县| 玉树县| 阆中市| 郸城县| 朝阳区| 青川县| 绩溪县| 祁阳县| 峨边| 商河县| 西华县| 塘沽区| 天祝| 全南县| 邢台市| 禹城市| 浦东新区| 新平| 青浦区| 宁乡县| 泽州县| 济宁市| 紫金县| 黄平县| 同德县| 云霄县| 红安县| 通道| 瓦房店市| 蒙城县| 精河县| 邯郸县| 巩留县| 苗栗市| 清原|