json

Python JSON 模組 - 走到跑,跑到飛的 orjson

orjson 是一套由 Rust 實作的 Python 套件,專門用以處理 JSON 相關的 encode 與 decode 的工作,效率不僅快(根據官方測試最快可以達到 json 模組的 40 到 50 倍效率)更天生能直接處理 Python 內建 json 模組所無法序列化(serialize)的 datetime, UUID, dataclass 等資料,不需額外編寫序列化的處理程式。

如果你想改善 Python API server 處理 JSON 的速度,以降低系統回應時間,又或者你有大量 JSON 相關的資料要處理,想有效減少處理時間的話,不妨試試 orjson 吧!

Posted on  May 10, 2023  in  Python 模組/套件推薦  by  Amo Chen  ‐ 4 min read

JSON 的故事,不是你同事 Jason

看了軟體考古學家寫的故事,我才突然意識到為什麼 JSON 的 MIME type 這麼奇怪,人家 XML, HTML 分別是 text/xml, text/html 就獨獨 JSON 是 application/json …..? JSON 的故事 ➡ https://hackmd.io/@brachiosoft/json 【 後話 】 JSON 格式的流行與其說是一種

Last updated on  Nov 16, 2023  by  Amo Chen  ‐ 1 min read

jq - 用 startswith & endswith 過濾 JSON 資料

jq 是方便且成熟的 JSON 資料操作工具,可以幫助我們快速對 JSON 型態的資料進行擷取(extract)、過濾(filter)、運算(computing)甚至是重組(transform)等操作。

如果是常常需要與 JSON 格式資料打交道的開發者,可以投資一些時間好好熟悉 jq, 不過由於該工具提供各式各樣的功能,所以不免使用前要稍微查閱文件一番。

本文透過實際範例學習如何操作 jq 提供的 startswithendswith 函式進行資料篩選與過濾。

Posted on  Sep 12, 2022  in  Unix-like 命令列教學  by  Amo Chen  ‐ 2 min read

jq 實戰教學

隨著 JSON 格式作為資料交換格式大行其道,使用工具對 JSON 資料進行操作也逐漸成為家常便飯,各種工具中, jq 可說是一套十分易於操作的 JSON 操作工具。

本文將透過實際資料學習如何使用 jq 。

Posted on  Mar 27, 2021  in  Unix-like 命令列教學  by  Amo Chen  ‐ 14 min read

Python - 製作 JSON serializable 的類別

Python 的 json 模組十分方便,可以把 dict() tuple() list() str() int() 等資料型別轉成 JSON 字串,不過遇到像是 set() 時,就會產生以下錯誤:

>>> import json
>>> json.dumps(set())
...(略)...
TypeError: Object of type 'set' is not JSON serializable

原因在於 json.dumps() 中預設並沒有處理 set() 等型別的序列化( serialization )。

雖然如此, json.dumps() 還是有參數能夠處理這些無法被序列化的類別(class)或型別。

Posted on  Mar 29, 2018  in  Python 程式設計 - 中階  by  Amo Chen  ‐ 2 min read