Skip to main content
從 JSON 文件中取得值。

必需的參數

  • map:*: 一組一個或多個輸入,其中對映參數的名稱以冒號開頭(例如,map:foo),並且值是文件中所需 json 元素的 jsonpath(請參閱範例 瞭解詳情)。

可選的參數

  • uri: JSON 檔案的 URI。這可以是動態檔案引用,例如輸入檔案的 [FilePath]、磁碟上的靜態檔案路徑或 JSON 檔案的公共 URL。
  • text:對 JSON 資料的可讀控制代碼引用。 此控制代碼由 jsonOpen 操作建立,當輸入 JSON 不是檔案或原始文字,或者需要執行存取文件的檔案資料的多個操作時,此控制代碼非常有用。
  • handle: 對 JSON 資料的可讀控制代碼引用。 該控制代碼由 jsonOpen 運算器建立,僅當目標 JSON 不是輸入檔案時才需要。 有關詳細資訊和範例,請參閱 jsonOpen
  • repeatelement#: 文件中重複出現的元素的 jsonpath。
  • repeatmode: 定義 repeatelement# 值在輸出項上的儲存方式。 允許的值為 ITEMARRAY 。 當設定為 ITEM(預設值)時,從重複元素找到的值將作為單獨的屬性儲存在運算器生成的每個輸出項上。 當設定為 ARRAY 時,從重複元素找到的值將作為陣列屬性儲存在單個輸出項上,並且需要透過其基於 1 的索引進行存取(例如,[result.color#2]將引用 到結果項的 color 屬性中的第二個值)。

輸出屬性

  • *: 使用 map 參數對映的 JSON 元素的輸出值。 透過引用輸出項和對映輸入項的名稱(例如 [results.foo])來存取它們。 輸出項的名稱(在本例中為 results)由使用者確定。 有關其他上下文,請參閱範例

範例

從 JSON 文件中檢索值

考慮以下的 JSON 資料,它作為輸入資料傳遞給Script 端口
在 Script 端口中,可以在 ArcScript 中呼叫 jsonDOMGet 來檢索此資料中定義的人員的nameage,並將它們作為標題新增到 中的訊息中。 下面的 ArcScript 程式碼顯示瞭如何執行此操作的範例:
該程式碼執行後,將帶有新新增的訊息頭的檔案作為輸出向下推送到工作流程中。

存取 JSON 物件中陣列的特定索引

使用者經常需要存取 JSON 資料中陣列的特定索引。 例如,可能想要存取下面 JSON 物件中 orders 陣列中第二個訂單物件的 id,該物件作為輸入檔案傳遞到 Script 端口。
在 Script 端口中,可以呼叫 ArcScript 中的 jsonDOMGet 來使用orders陣列中某個物件中存在的元素的從 1 開始的索引 jsonpath 來存取特定訂單的id。 下面的 ArcScript 程式碼顯示瞭如何執行此操作的範例:

使用 repeatelement 參數

考慮下面的 JSON 資料,該資料作為輸入檔案傳遞到 Script 端口:
在 Script 端口內,針對輸入檔案執行以下程式碼。 repeatelement# 參數用於定義具有重複值的元素。 在此範例中, colorexample 值在 /json/colors 元素中重複,該元素是一個 JSON 陣列。 當設定 repeatelement# 時,jsonDOMGet 運算器將迴圈遍歷該元素中存在的值。 repeatmode 參數定義 repeatelement# 值儲存為輸出的方式。 當設定為 ITEM (預設值)時,重複元素找到的值將作為單獨的屬性儲存在輸出項上。 當設定為 ARRAY 時,重複元素找到的值將作為陣列屬性儲存在輸出項上,並且需要透過基於 1 的索引進行存取(例如, [result.color#2] 將解析為 redresult.example#2 將解析為 apple )。
輸出檔案: