Python解析JSON詳解

2022-03-18 02:26:44 字數 2218 閱讀 8106

使用 json 函式需要匯入 json 庫:import json。

json.dumps  將 python 物件編碼成 json 字串

json.loads  將已編碼的 json 字串解碼為 python 物件

語法json.dumps(obj, skipkeys=false, ensure_ascii=true, check_circular=true, allow_nan=true, cls=none, indent=none, separators=none, encoding="utf-8", default=none, sort_keys=false, **kw)

例項

以下例項將陣列編碼為 json 格式資料:

1

#!/usr/bin/python

2import

json

3 data =

4 jsondata =json.dumps(data)

5print jsondata

以上**執行結果為:

1
注意: 大家可能發現,執行上述轉換以後,資料並沒有發生變化,這裡要說一下: 在json中雙引號才是標註的字串分割符號,單引號不標準。使用引數讓 json 資料排序並格式化輸出:

1

#!/usr/bin/python

2import

json

3 data =

4 jsondata = json.dumps(data, sort_keys=true, indent=4, separators=('

,', ': '

))5print jsondata

輸出結果:

1

python 原始型別向 json 型別的轉化對照表:

json.loads 用於解碼 json 資料。該函式返回 python 欄位的資料型別。

語法json.loads(s[, encoding[, cls[, object_hook[, parse_float[, parse_int[, parse_constant[, object_pairs_hook[, **kw]]]]]]]])

例項

以下例項展示了python 如何解碼 json 物件:

1

#!/usr/bin/python

2import

json

3 jsondata = '

'4 str =json.loads(jsondata)

5print str

以上**執行結果為:

1
json 型別轉換到 python 的型別對照表:demjson 是 python 的第三方模組庫,可用於編碼和解碼 json 資料,包含了 jsonlint 的格式化及校驗功能。

環境配置

在使用 demjson 編碼或解碼 json 資料前,我們需要先安裝 demjson 模組。

方法1:原始碼安裝

$ tar -xvzf demjson-2.2.4.tar.gz

$ cd demjson-2.2.4

$ python setup.py install

方法2:直接使用pip安裝

pip install demjson

json 函式

函式  描述

encode  將 python 物件編碼成 json 字串

decode  可以使用 demjson.decode() 函式解碼 json 資料。該函式返回 python 欄位的資料型別。

encode語法

demjson.encode(self, obj, nest_level=0)

decode語法

demjson.decode(self, txt)

使用都非常簡單,我就不在這裡舉例啦~~

Python解析JSON詳解

json 函式 使用 json 函式需要匯入 json 庫 import json。函式 描述 json.dumps 將 python 物件編碼成 json 字串 json.loads 將已編碼的 json 字串解碼為 python 物件 json.dumps 語法 json.dumps obj,s...

python 解析多層json

原始檔案內容 channels 3 height 1080 width 1920 修改並儲存 coding utf 8 import os import json 獲取目標資料夾的路徑 filedir r j numberdata mrcnnhik test 獲取資料夾中的檔名稱列表 filenam...

python遞迴解析JSON

知識點 1 編碼設定 特殊字元處理 2 正規表示式提取json字串 3 遞迴列印json屬性值 usr bin python coding utf 8 import os,sys,time import urllib.request,requests,bs4 import re,json,demjs...