" />

欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

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

json支持的格式:

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

代碼操作

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

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

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:表示為文件對象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字符串一般不會單獨出現(xiàn)

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

一般會放在字典或者列表中

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

2. python序列化為json

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

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

寫入的結(jié)果為

test1.json

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

總結(jié)

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

相關(guān)文章

  • 舉例介紹Python中的25個隱藏特性

    舉例介紹Python中的25個隱藏特性

    這篇文章主要介紹了一些Python中的隱藏特性,從stackoverflow的人氣問題回答中整理而來,主要以代碼實際解釋說明,需要的朋友可以參考下
    2015-03-03
  • Python wxPython庫使用wx.ListBox創(chuàng)建列表框示例

    Python wxPython庫使用wx.ListBox創(chuàng)建列表框示例

    這篇文章主要介紹了Python wxPython庫使用wx.ListBox創(chuàng)建列表框,結(jié)合實例形式分析了wxPython庫使用wx.ListBox創(chuàng)建列表框的簡單實現(xiàn)方法及ListBox函數(shù)相關(guān)選項的功能,需要的朋友可以參考下
    2018-09-09
  • python中while和for的區(qū)別總結(jié)

    python中while和for的區(qū)別總結(jié)

    在本篇內(nèi)容里小編給大家分享的是關(guān)于python中while和for的區(qū)別以及相關(guān)知識點,需要的朋友們可以學(xué)習(xí)下。
    2019-06-06
  • pytorch 計算ConvTranspose1d輸出特征大小方式

    pytorch 計算ConvTranspose1d輸出特征大小方式

    這篇文章主要介紹了pytorch 計算ConvTranspose1d輸出特征大小方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • python GUI模擬實現(xiàn)計算器

    python GUI模擬實現(xiàn)計算器

    這篇文章主要為大家詳細(xì)介紹了python GUI模擬實現(xiàn)計算器,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06
  • 對python 生成拼接xml報文的示例詳解

    對python 生成拼接xml報文的示例詳解

    今天小編就為大家分享一篇對python 生成拼接xml報文的示例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Django Form設(shè)置文本框為readonly操作

    Django Form設(shè)置文本框為readonly操作

    這篇文章主要介紹了Django Form設(shè)置文本框為readonly操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Python實現(xiàn)給圖片添加文字或圖片水印

    Python實現(xiàn)給圖片添加文字或圖片水印

    在現(xiàn)今的數(shù)字化時代,網(wǎng)絡(luò)上的圖片泛濫,盜圖現(xiàn)象也越來越嚴(yán)重。因此,在發(fā)布文章時,為了保護(hù)自己的原創(chuàng)作品版權(quán),很多人選擇使用水印來保護(hù)他們的圖片。本文就和大家分享了Python實現(xiàn)給圖片添加文字或圖片水印的方法,需要的可以收藏一下
    2023-05-05
  • CentOS下使用yum安裝python-pip失敗的完美解決方法

    CentOS下使用yum安裝python-pip失敗的完美解決方法

    這篇文章主要介紹了CentOS下使用yum安裝python-pip失敗的完美解決方法,需要的朋友可以參考下
    2017-08-08
  • Python爬蟲實現(xiàn)“盜取”微信好友信息的方法分析

    Python爬蟲實現(xiàn)“盜取”微信好友信息的方法分析

    這篇文章主要介紹了Python爬蟲實現(xiàn)“盜取”微信好友信息的方法,結(jié)合實例形式分析了Python針對微信數(shù)據(jù)信息爬取的相關(guān)操作技巧,需要的朋友可以參考下
    2019-09-09

最新評論