JSON コネクターでは、コマンドを使用して、JavaScript Object Notation (JSON) データをチェーンの一部として変換することができます。例えば、このコネクターを使えば、次のことができる:
- JSON配列またはオブジェクトをCSVに変換する
- CSVデータをJSON配列に変換する
- 検証済みのスキーマでテキストをJSONとして解析します。
メモ: いくつかのコネクターのコマンドはJSON出力を生成する。JSON値を文字列、リスト、JSONとして抽出し、チェーンの後のコマンドで使用するには、変数変換/トランスフォーメーション を使用する。
前提条件
JSONコネクターを使用するには、JSON構文の基本的な理解をお勧めします。
JSONは、1つの数値から複数の文字列、配列、オブジェクトに至るまで、構造化データをプレーンテキストとして保存し、送信します。JSON文字列は以下を含みます:
- 配列- または値のリスト
- オブジェクト 名称と値のペアの連想配列を含む。
複雑なデータ構造化をサポートするために、JSONの中に配列やオブジェクトを入れ子にすることができます。
配列
JSONでは、配列は正方形括弧[]で囲まれ、カンマで区切られた値のリストを含みます:
- 数字
- ダブルクォートで囲まれたテキスト文字列
"" - ブーリアン型、
trueまたはfalse - 正方形括弧で囲まれた配列
[]。 -
{} で囲まれたオブジェクト。 -
NULL値
例えば、Wdata 機能の配列は [ "Tables", "Queries", "Chains" ]となります。
オブジェクト
オブジェクトは{} で囲まれ、カンマで区切られた名称と値のペアのリストを含む。各ペアは、二重引用符で囲まれたフィールド名称"" の後にコロン: とその値を含む。オブジェクトは、配列と同じタイプ別と値の構文をサポートしています。例:
{
"product": "Wdata",
"company": "Workiva".
"features":[
"表",
"クエリ",
"チェーン"
]
}. JSONコネクターの設定
注: 組織のチェーンでコネクターを使用できるようにするには、まず最初に組織のセキュリティ管理者が構成から コネクターを有効にする必要があります。
- チェーンビルダー から接続 をクリックし、右上の作成 をクリックします。
-
コネクター 接続 で、JSON とデフォルト CloudRunner を選択します。
- 基本情報の下に、コマンドの識別をヘルプするユニークな名称と説明を入力します。
- 接続に使用する環境を選択し、保存します。
- 接続をテストするには、 コネクターのCSV to JSON コマンド でチェーンを作成して実行し、有効な出力を返すことを確認します。
トラブルシューティング
コネクターのArray to CSV コマンドで有効な出力が生成されない場合は、以下の潜在的な問題がないか確認してください。
配列からCSVへの変換は成功したが、出力にはデータがない
Array to CSV コマンドが正常な変換を示すが、その出力にデータがない場合は、Input File 入力に JSON 配列が含まれていることを確認してください。例えば、このJSONは、自転車とボールに関する詳細を返さなくなります:
{
"store":{
"bicycle":{
"color":「red",
"price":19.95
},
"ball":{
"color":"blue",
"price":21.95
}
.}
}. その代わりに、自転車やボールの詳細を返却するには、詳細を角括弧[] で囲み、配列のようにする。例:
{
"store":{
"bicycle":[{
"color": "red",
"price": 19.95
}],
"ball":[{
"color": "blue",
"price": 21.95
}]
}
}. ルート配列要素のパスが検出されない
Array to CSV エラーが「Error finding the root array element, please check your path:パスが見つかりません "と返された場合は、分離するキーが配列の中にあることを確認してください。たとえば、usageUnit をこの JSON に取り込むには、JSONPath.pricingInfo[0].pricingExpression.usageUnit をコマンドのPath to Root 入力として入力します:
{
"skus":[{
"skuId":"0033-4F4C-36F1",
"description":"Long Term Storage (us-east4)",
"category":{
"serviceDisplayName":"BigQuery",
"usageType":"OnDemand"
},
"serviceRegions":[
"us-east4"
],
"pricingInfo":[{
"summary":"",
"pricingExpression":{
"usageUnit":"GiBy.mo",
"displayQuantity":1,
"tieredRates":[{
"startUsageAmount":0,
"unitPrice":{
"currencyCode":"USD",
"units":"0"
}
.}
]},
"currencyConversionRate":1,
"effectiveTime":"2019-08-18T02:30:55.193Z"
}],
"serviceProviderName":"Google"
}]
}.