Python json資料的解析

2022-09-18 20:54:11 字數 1893 閱讀 7293

import json

data =

jsonstr = json.dumps(data) # 編碼

print(type(data)) # dict

print(type(jsonstr)) # str

print(jsonstr)

import json

data =

jsonstr = json.dumps(data) # 編碼

tmp = json.loads(jsonstr) # 解碼

print(type(tmp)) # dict

兩者必須配合使用

data = 

# 編碼

with open('test.json', 'w') as f:

json.dump(data, f)

# 解碼

with open('test.json', 'r') as f:

data = json.load(f)

print(type(data)) # dict

print(data)

, , ]}

}

# --- 載入json檔案,返回 dict物件 ---

obj = json.load(open('my.json', 'r', encoding='utf-8'))

# 獲取書店所有書的作者

x = jsonpath.jsonpath(obj, '$.store.books[*].author')

print(x)

# 獲取 id="002" 的書的名稱【******】

x = jsonpath.jsonpath(obj, '$..books[?(@.id=="002")].name')

print(x)

# 獲取 id!="002" 的書的名稱

x = jsonpath.jsonpath(obj, '$..books[?(@.id!="002")].name')

print(x)

# 獲取書店第二本書的作者

x = jsonpath.jsonpath(obj, '$.store.books[1].author')

print(x)

# 獲取 store的所有元素

x = jsonpath.jsonpath(obj, '$.store.*')

print(x)

# 獲取 store下所有的 price

x = jsonpath.jsonpath(obj, '$.store..price')

print(x)

# 獲取最後一本書的**

x = jsonpath.jsonpath(obj, '$.store.books[(@.length - 1)].price')

print(x)

# 獲取第1本,第3本書的作者

x = jsonpath.jsonpath(obj, '$.store.books[0,2].author')

print(x)

# 獲取前兩本書的作者

x = jsonpath.jsonpath(obj, '$.store.books[0:2].author')

print(x)

# 獲取第二本到第三本書的作者

x = jsonpath.jsonpath(obj, '$.store.books[1:3].author')

print(x)

# 獲取 **超過 35元 的書的名稱

x = jsonpath.jsonpath(obj, '$..books[?(@.price > 35)].name')

print(x)

Python JSON 資料解析

usr bin python3 import json python 字典型別轉換為 json 物件 data json str json.dumps data print python 原始資料 repr data print json 物件 json str 執行以上 輸出結果為 python ...

Python JSON資料處理

非結構化資料 html json.dumps 實現python型別轉化為json字串 indent實現換行和空格 ensure ascii false實現讓中文寫入的時候保持為中文 json str json.dumps mydict,indent 2,ensure ascii false json...

python(json解析)(天氣預報查詢系統)

天氣預報查詢系統 天氣預報 引入requests import requests 引入python內建的包json,用來解析和生成 import json url統一資源定位符 主機網域名稱 目錄 地點 格式。windows r cmd 開啟命令列工具 輸入pip install requests ...