配列を抽出
JSON を貼り付け、data.books などのパスを入力します。「抽出した配列」に結果が表示されます。ルートが配列なら $ を使います。
JSON から配列を抽出し、各要素を整形したテキストに変換する方法を紹介します。以下の例を参考に RabbitJson で試してください。
JSON を貼り付け、data.books などのパスを入力します。「抽出した配列」に結果が表示されます。ルートが配列なら $ を使います。
${name} などのテンプレートを書きます。「変換結果」を確認してコピーしてください。サンプルデータはワークスペースの「サンプル」から読み込めます。
編集に合わせて配列とテキストを自動更新します。
「配列を抽出」を実行し、テンプレートを入力して「テキストに変換」を選びます。テンプレートなしでも抽出できます。
テンプレートを編集しても配列は保持されます。手動モードで JSON やパスを変更した場合は再抽出が必要です。古い結果は誤ってコピーしないよう消去されます。
大きな入力は行番号なしのテキストで表示し、全データを処理します。出力は最大 200 行または 12,000 文字で、要素の途中で切れる場合があります。コピーやダウンロードには全結果が含まれます。
下書きは現在のタブに保存されます。保存できない場合はページを開いたままにするか、再読み込み前に別の場所へ保存してください。ブラウザーの保存機能が使える場合、言語を切り替えても下書きを保持します。
フィールドにはドット、添字には角括弧を使います: data.books、items[0].tags。ドットや空白を含むキーは data["book.list"] のように指定します。ルート配列は $ で指定します。最終的な値は配列である必要があります。
配列を返すパスのみ表示します。上下キーで選択、Tab または Enter で挿入、Esc で閉じます。
トップレベルの配列を選択します。
JSON 入力
{
"books": [
{
"name": "Book A",
"price": 10
},
{
"name": "Book B",
"price": 20
}
]
}パス式
books抽出した配列
[
{
"name": "Book A",
"price": 10
},
{
"name": "Book B",
"price": 20
}
]ドットでオブジェクトの内部を参照します。
JSON 入力
{
"data": {
"books": [
{
"name": "Book A",
"price": 10
},
{
"name": "Book B",
"price": 20
}
]
}
}パス式
data.books抽出した配列
[
{
"name": "Book A",
"price": 10
},
{
"name": "Book B",
"price": 20
}
]インデックスは 0 から始まります。
JSON 入力
{
"items": [
{
"id": 1,
"tags": [
"a",
"b"
]
},
{
"id": 2,
"tags": [
"c",
"d"
]
}
]
}パス式
items[0].tags抽出した配列
[
"a",
"b"
]フィールドや式を ${…} で囲みます。波括弧の中に入力すると候補が表示されます。
${…} の外側はそのままのテキストになります。各要素の結果は改行で結合されます。候補はネストしたフィールドに対応し、各要素での存在状況を表示します。
テンプレート式内で、上下キーでフィールドを選択、Tab または Enter で挿入、Esc で閉じます。
${$item} は現在の要素、${$index} は 0 始まりの番号です。1 から数えるには ${$index + 1} を使います。フィールドは ${name} や ${$item.name} で参照できます。予約名と同じキーには ${$item["$item"]} や ${$item["$index"]} を使います。全体を JSON にするには ${JSON.stringify($item)} を使います。
このルート配列にはパス式 $ を指定します。各要素を Markdown の箇条書きにして結果をコピーします。
抽出した配列
[
{
"name": "Alice"
},
{
"name": "Bob"
}
]テンプレート
- ${name}変換結果
- Alice
- Bob現在の文字列には $item、番号付けには $index + 1 を使います。
抽出した配列
[
"admin",
"editor"
]テンプレート
${$index + 1}. Role: ${$item}変換結果
1. Role: admin
2. Role: editor現在の数値をそのまま計算に使います。
抽出した配列
[
10,
20,
30
]テンプレート
${$item} × 2 = ${$item * 2}変換結果
10 × 2 = 20
20 × 2 = 40
30 × 2 = 60$item またはフィールド名の省略記法で参照します。
抽出した配列
[
{
"name": "Alice"
},
{
"name": "Bob"
}
]テンプレート
${$index + 1}. ${$item.name} / ${name}変換結果
1. Alice / Alice
2. Bob / Bob各配列要素のフィールドを挿入します。
抽出した配列
[
{
"name": "Book A",
"author": "Author 1"
},
{
"name": "Book B",
"author": "Author 2"
}
]テンプレート
Book: ${name} by ${author}変換結果
Book: Book A by Author 1
Book: Book B by Author 2式の中で値を計算します。
抽出した配列
[
{
"name": "Product A",
"price": 100
},
{
"name": "Product B",
"price": 200
}
]テンプレート
${name}: $${price} (with tax: $${(price * 1.1).toFixed(2)})変換結果
Product A: $100 (with tax: $110.00)
Product B: $200 (with tax: $220.00)フィールド、計算、テキストを組み合わせます。
抽出した配列
[
{
"item": "Item A",
"price": 100,
"qty": 2
},
{
"item": "Item B",
"price": 50,
"qty": 3
}
]テンプレート
${item}: ${qty} x $${price} = $${price * qty}変換結果
Item A: 2 x $100 = $200
Item B: 3 x $50 = $150青は組み込み変数と一致するフィールド、紫は区切り、オレンジは演算子、青緑は数値です。赤い波線は欠落したフィールドを示します。小数点以下 2 桁には toFixed(2) を使います。