jsoneditoronline.org

最近因為專案練習,有接觸到需要比較真實的數據資料以方便加入資料庫,於是找到了台北市政府公開資料的網站,在得到資料後,發現有些地方需要把資料轉成為想要的 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"]
}
]

網站使用

網站的使用非常的簡單

jsoneditoronline

左邊放置你想要 format 的資料,之後點選中間 > 符號,便會輸出到右邊,在右邊資料中可以看到井然有序,完整架構的資料呈現出來,可以很方便的就了解有哪些資料可以使用。

接下來有趣的地方來了。

在資料框的上方有許多小工具可以點選,而漏斗形狀的工具圖案,便是方柱我們最多的功能,點選下去之後會跳出小方框。

transform

詳細的教學可以經由 http://jmespath.org/ 或者 http://jmespath.org/tutorial.html 學習了解。

這邊列出我最常使用的功能,假使資料格式如下:

[
"data":[
{
"name": "Tao",
"tel": "08-7654321",
"favorite": "books"
}
]
]

當我再查詢的時候,我需要變更標籤不同的名稱、以及需要的標籤時,可以在 query 中如下方的語法,這樣大大的方便標籤的修改。

data[].{firstName: name}
query後

而如果是字串數字轉成真正的數字同樣在 : 後的標籤加上 to_number(‘標籤’),就可以快速的將字串數字轉成真正的數字。

而在需要塞選的時候,也是利用類似的字串。 [?name == 'Tao'] 使用 ?== 可以完成需要的篩選。

使用上面的三種語法就可以完成 80% 的工作,在整理資料上方便了不少。