JSONata

2024/08/01に公開

JSONataはJSライブラリ。
JSONデータを変換したり操作するのを簡潔にする。
名前の通りJSONデータを扱う時に使うらしい。
JSONとして正しくないデータだとエラースローするとか。

JSで書くとちょっと長くなる記述を、簡潔に出来る。

すげー便利そう~ってのと、ちゃんと使い方理解してないと意図しない事が起こりそう
ってのが感想。

これ読めば大体わかる(感謝。)
https://qiita.com/yamachan360/items/91805334890d18ef6e23

とりあえず見て、おおおってなる動画
https://www.youtube.com/watch?v=ZBaK40rtIBM

練習環境
https://try.jsonata.org/

JSの関数で配列とオブジェクト操作する際に記述が長くなったり複雑になるところを、記号とかで書けるから、かなり短く書けそう。

使いたいタイミング
やっぱりJSONファイルを大きく操作する際には使えるようになりたいかも。

気持ち悪い点
取得した値の数が単一の場合配列にならない
複数の場合配列になる
これをどちらの場合でも配列で返したい場合、前か後ろに [] を付ける
そうすると必ず配列になるのだが、この、前と後ろどちらでも付けていいって言われちゃうと
ちょっと気持ち悪い、というか、体感わかりづらい。
こんな感じ
Phone[0][].number
Phone[0].number[]
結果 どちらも
[
"0203 544 1234"
]

へー、どうやらSELECTとかフォーマットとかだけじゃなくて、プログラミング分も書けるらしい
すげえ
https://docs.jsonata.org/programming.html#parenthesized-expressions-and-blocks

if文はこれ。JSの省略文みたい。「 ? : 」
Account.Order.Product.{
Product Name: $.Price > 100 ? "Premium" : "Basic"
}

なんか結局JSONを処理するにはJSONataだけで済みそうなんだけど、
やっぱり長いプログラミングになってくるとJSの方が理解しやすいって人が多そう

だから単発で(数行で)書けるところはJSONata使って、長いプログラムはJSで書くって使い方が正しいような気がする。

おわり。

Discussion