Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ 完全なJSONペイロードの読み取り | n8nにおけるデータ型
/
n8nによるAI自動化ワークフロー

book完全なJSONペイロードの読み取り

メニューを表示するにはスワイプしてください

JSONオブジェクトは単一の構造体であり、配列は複数の要素のリスト。多くの実際のペイロードは、オブジェクト内にオブジェクトの配列を含む構造。

order.json

order.json

copy
  • { … } で開始 → 最上位のオブジェクト
  • order_id → 文字列
  • customeremailを含むネストされたオブジェクト
  • line_itemsオブジェクト配列 [ ... ](各ラインアイテム)
  • currency → 文字列
  • paid → ブール値

ペイロードが実際に示している内容

このオブジェクトは注文をエンコードしています:誰が(customer)、何を(line_items)、金額(currency)、ステータス(paid)。合計値は保存されておらず、導出されます。一貫した構造があれば、どのノード(または小さなコードステップ)でも後から計算できます。AIに何かを渡す前に、求める正確な計算方法を明示してください。これにより推測を防ぎ、出力が予測可能になり、結果の検証も容易になります。

AIプロンプト:

小さなヘルパー

フル関数が不要な場合、短い式や数行のコードでワークフロー内で合計や件数を処理できます。これを使って、line_itemsがいくつ存在するかをカウントします。

{{$json["line_items"] ? $json["line_items"].length : 0}}

合計値を計算する必要がある場合は、Codeノード内で簡単なreduceループを使うと便利です。

const items = $json.line_items ?? [];
const subtotal = items.reduce((s, it) => s +
  (Number(it.qty) || 0) * (Number(it.price) || 0), 0);
return [{ json: { subtotal: Number(subtotal.toFixed(2)) } }];
Note
注意

上流から誤って"19.99"のような文字列が送信された場合は、計算前にNumber(...)でキャストしてください。

question mark

式 {{$json["line_items"].length}} は何を返しますか?

正しい答えを選んでください

すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 3.  3

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 3.  3
some-alt