在前後端分離架構中,需要頻繁的測試及查看 json ,通常都會透過 postman, insomnia 來輔助開發

這裡要介紹的是在 Command-Line 可直接檢視 json 的套件 fx

官方介紹,它具有以下特點:

  • 不需要學習新的語法
  • 簡單的javascript 語法即可上手
  • 自動格式化及標示
  • 獨立二進位式
  • 命令列互動模式🎉

安裝 fx

npm install -g fx

//or

brew install -g fx

使用方式

直接輸入json 自動格式化

$ echo '{...}' | fx [code ...]

取得本地文件

cat xxx/xxx.josn | fx [code ...]

取得來源的 curl 自動格式化

$ curl ... | fx [code ...]

使用 ES6 generator

$ curl ... | fx 'for (let user of this) if (user.login.startsWith("a")) yield user'

$ echo '["a", "b"]' | fx 'yield* this; yield "c";'
[
  "a",
  "b",
  "c"
]

操作數據

$ echo '{"count": 0}' | fx '{...this, count: 1}'
{
  "count": 1
}

也可簡單的結合現有 package

$ npm install -g lodash
$ cat package.json | fx 'require("lodash").keys(this.dependencies)'

範例

輸入json字串,取得內容 (進入互動模式)

echo '{"foo": [{"bar": "value"}]}' | fx

輸入json字串,取得所有內容(直接輸出所有字元)

echo '{"foo": [{"bar": "value"}]}' | fx .

輸入json內容,取得物件內的值

echo '{"foo": [{"bar": "value"}]}' | fx 'x => x.foo[0].bar'

選取文字

在 json 的清單中,有些 url 或參數,可以直接選取及點擊

操作方式要根據使用的 CLI 來調整

Key Terminal
iTerm2, Hyper Option+Mouse
Terminal.app Fn+Mouse
Linux Shift+Mouse