Python解析JSON詳解

2021-09-22 09:12:15 字數 2297 閱讀 5063

json 函式

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

函式 描述

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

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

json.dumps

語法 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 2

3 4

5import json

data =

jsondata = json.dumps(data)

print jsondata

以上**執行結果為: 1

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

使用引數讓 json 資料排序並格式化輸出:

1 2

3 4

5import json

data =

jsondata = json.dumps(data, sort_keys=true, indent=4, separators=(『,』, 『: 『))

print jsondata

輸出結果

1 2

3 4

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

python json

dict object

list, tuple array

str, unicode string

int, long, float number

true true

false false

none null

json.loads

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

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

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

1 2

3 4

5import json

jsondata = 『』

str = json.loads(jsondata)

print str

以上**執行結果為:

1 json 型別轉換到 python 的型別對照表:

json python

object dict

array list

string unicode

number (int) int, long

number (real) float

true true

false false

null none

使用第三方庫:demjson

demjson 是 python 的第三方模組庫,可用於編碼和解碼 json 資料,包含了 jsonlint 的格式化及校驗功能。

環境配置

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

方法1:原始碼安裝 ta

r−xv

zfde

mjso

n−2.2.4.ta

r.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 庫 import json。json.dumps 將 python 物件編碼成 json 字串 json.loads 將已編碼的 json 字串解碼為 python 物件 語法json.dumps obj,skipkeys false,ensure ascii...

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...