JSON Path
JSON に入ってきたJSON文字列から、パスで指定した1つの値を抜き出して出力します。HTTP Request の Body をそのまま受ける相棒として使います。
パスの書式
オブジェクトのキーは . で、配列は [n] で掘ります。
syncedLyrics— 最上位のキー[0].syncedLyrics— 配列の先頭要素のキーdata.items[2].name— 入れ子
パスは前後の空白を落としてから使われます。パスを空のままにすると、JSON全体がそのまま Out に出ます。
パスはノード本体の欄に書くか、Path ポートに流し込むかのどちらでも指定できます。
3つの出力
Out— 抜いた値が文字列ならその中身。オブジェクトや配列ならJSONのテキストのまま出るので、次段のJSON Pathでさらに掘れます。数値・真偽値はその文字表記になりますNumber— 数値ならその値、真偽値ならtrueが1・falseが0、数値として読める文字列も数値になります。それ以外は0Found— 値が取れたかどうか
3つとも値が前回と変わったときだけ出力されます。
取れなかったとき
次のいずれでも、Out は空文字・Number は0・Found は false になります。何が起きたかはノード上の小さな文字で確認できます。
JSONが空、または空白だけ- JSONとして読めない文字列が来た(APIがエラーページのHTMLを返した場合など)
- パスの書式が不正
- パスが指す先が存在しない、または値が null
値が取れたときは、ノード上の表示がその値の種類に変わります。
入力ポート
| Port ID | 型 |
|---|---|
JSON | string |
Path | string |
出力ポート
| Port ID | 型 |
|---|---|
Out | string |
Number | float |
Found | bool |
スクリプトから設定可能なメンバー
| パス | 型 |
|---|---|
jsonInput | string |
pathInput | string |
currentPath | string |
Synapse Apps(スクリプティング)
await synapse.modules.create({ type: "JsonPath" }) 
