最近因為專案練習,有接觸到需要比較真實的數據資料以方便加入資料庫,於是找到了台北市政府公開資料的網站,在得到資料後,發現有些地方需要把資料轉成為想要的 json 格式,為了方便快速整理一些小資訊,發現了 jsoneditoronline.org 線上整理 json 的網站。
這個網站提供了許多簡易的 json 功能,可以將雜亂的資料做篩選,還有輸出想要的資料格式,在使用了這個網站之後想要將一些使用的經驗整理下來,方便日後快速回憶。
簡單理解 json 格式
JSON 全名 Javascript Object Notation。
資料型態:
- 數值: 十進位,可以為負數,不可有前導 0。
- 字串: 以
""
括起來的 Unicode。 - 布林值: true or false。
- array: 以
[]
刮起來。 - object: 以
{}
刮起來的無序 Key-value pairs。 - null: 值為 null。
應用領域:
- web 開發: javascript、Node.js、Java 使用居多。
- NoSQL 資料庫: MongoDB、CouchDB、RavenDB。
格式通常會用 obj 或者 array 包覆
object 可以將想要的資訊都組合在同一個 {}
視為一筆資料。{
"firstName": "Tao",
"lastName": "Chen",
"favorite": ["new tech", "books"]
}
使用 array 可以更方便的儲存多個類似的資料。[
{
"firstName": "Tao",
"lastName": "Chen",
"favorite": ["new tech", "books"]
}
]
網站使用
網站的使用非常的簡單
左邊放置你想要 format 的資料,之後點選中間 >
符號,便會輸出到右邊,在右邊資料中可以看到井然有序,完整架構的資料呈現出來,可以很方便的就了解有哪些資料可以使用。
接下來有趣的地方來了。
在資料框的上方有許多小工具可以點選,而漏斗形狀的工具圖案,便是方柱我們最多的功能,點選下去之後會跳出小方框。
詳細的教學可以經由 http://jmespath.org/ 或者 http://jmespath.org/tutorial.html 學習了解。
這邊列出我最常使用的功能,假使資料格式如下:
[ |
當我再查詢的時候,我需要變更標籤不同的名稱、以及需要的標籤時,可以在 query 中如下方的語法,這樣大大的方便標籤的修改。
data[].{firstName: name}
而如果是字串數字轉成真正的數字同樣在 :
後的標籤加上 to_number(‘標籤’),就可以快速的將字串數字轉成真正的數字。
而在需要塞選的時候,也是利用類似的字串。 [?name == 'Tao']
使用 ?
和 ==
可以完成需要的篩選。
使用上面的三種語法就可以完成 80% 的工作,在整理資料上方便了不少。