JavaScript Object Notation (JSON) 是一個基於文本的開放標准,為了進行人類可讀的數據交換而設計。JSON 源於 JavaScript 腳本語言,用於表示簡單的數據結構和被稱為對象 的關聯數組。過去,SaaS 應用程序絕大多數為企業客戶所用。JSON 被認為是一個用於表示 HTTP 上的數據的有效且高效的方法。早些時候,幾乎所有公開 Web 服務(以 SOAP 消息形式傳輸數據)的 SaaS 應用程序都開始通過 REST API(傳輸的數據是 JSON/XML)提供連接性。
WebSphere Cast Iron(後面簡稱為 Cast Iron),作為貫穿所有內部和外部應用程序的數據集成和遷移的重要角色,通常使用 XML 和 XML 模式。在 WebSphere Cast Iron V6.3 中,引入了兩個新的活動,以便有效支持整合流程(orchestration)構建,這涉及到 JSON 數據(Read JSON 和 Write JSON)的使用。本文介紹了各種配置 Read JSON 和 Write JSON 的方法來幫助您高效地處理 JSON 數據。
Read JSON 活動用於將 JSON 格式的字符串轉換成一個 XML 變量,在整合流程過程中,可使用這個變量來進行活動之間的映射。為此,您需要一個用於將 JOSN 字符串轉換成 XML 變量的 XML 模式。在配置過程中,可以使用一個樣例 JSON 或 XML 字符串生成 XML 模式(輸出模式),也可以使用 WSDL 或 XML Schema 小節的 studio 項目中提供的 XML 模式,WSDL 或 XML Schema 將在下一小節中介紹。
在這一小節中,我們將學習如何配置 Read JSON 活動。
將 Read JSON 活動拖放到工作區中,然後單擊 “Checklist” 窗格中的 Configure ,如圖 1 所示。
您可以通過使用 JSON/XML 字符串生成 XML 模式 來配置該模式,也可以指定 WSDL/XML 模式中存在的一個 XML 模式。此 XML 模式是 Map Outputs XML 變量的 XML 模式。
從 JSON/XML 字符串生成 XML 模式。從 Configure 窗口中選擇 Use JSON 或 XML Message 類型,如圖 2 所示。
然後將 JSON 或 XML 消息復制到文本區域,並單擊 Generate Output Map,如圖 3 所示。這將生成 Read JSON 輸出參數(XML 模式),可在 Map Output 中查看它。
您可以有選擇地配置 XML 模式根元素的名稱,該元素是從樣例 JSON /XML 中生成的。在默認情況下,根元素的名稱為 “Json”,如圖 4 所示。
選擇一個現有的 XML 模式。單擊 Configure 窗口中的 Select XML Schema 選項,如圖 5 所示。
單擊 Select XML Schema 按鈕(圖 6)來浏覽和選擇 XML 模式,以便在運行時解析它,然後單擊 OK。
您也可以配置在運行時傳入 JSON Text 輸入參數的數據的讀取操作,選擇以下選項之一:
如果傳入的 JSON 數據是文本,並且不需要進行解碼,則選擇 Data is text-Needs no decoding 選項(圖 7)。
如果傳入的 JSON 數據是需要使用指定的編碼類型進行解碼的二元數據,則選擇 Decode data using encoding type 選項(圖 8)。從下拉列表中選擇一個編碼類型來設置編碼類型,或者在文本框中指定編碼類型。
Write JSON 接受使用 XML 數據作為一個 XML 變量,並輸出 JSON 格式的字符串。您可以根據整合流程設計需求來使用這個 JSON 字符串。
將 Write JSON 活動拖放到工作區,並單擊 Checklist 窗格中的 Configure,如圖 9 所示。
查看本欄目
可以通過使用 JSON/XML 字符串生成 XML 模式來對該模式進行配置,也可以指定 WSDL/XML Schemas 中存在的一個 XML 模式。此 XML 模式是 Map Inputs XML 變量的 XML 模式。
從 JSON/XML 字符串生成 XML 模式。在 Configure 窗口中選擇 Use JSON or XML Message 作為消息類型,如圖 10 所示。
將 JSON 或 XML 消息復制到文本區,然後單擊 Generate Map。這將生成 Write JSON 輸入參數(XML 模式),如 Map Inputs 所示。
選擇現有的 XML 模式。在 Configure 窗口中單擊 Select XML Schema 選項,如圖 11 所示。
"Select XML Schema" 選項處於激活狀態(圖 12)。單擊該按鈕來浏覽 XML 模式,然後選擇該 XML 模式並單擊 OK。
並不是所有的 JSON 消息在默認情況下都包含一個根節點。在這種情況下,可將一個虛擬節點添加到 XML 模式表示中,真實數據是虛擬根節點的子元素。可在 “Root Element Name” 文本框中為虛擬根節點指定一個名稱。選中 Remove Root Element 復選框(圖 13),這樣就可在處理過程中刪除虛擬根節點。
您還可以在運行時配置如何讀取傳入 JSON Text 輸入參數的數據,選擇下列選項之一:
如果輸入數據是本文並且不需要進行解碼,則選擇 Data is text-Needs no decoding 選項。
如果傳入的數據是無需使用指定編碼類型進行解碼的二進制數據,則選擇 Decode data using encoding type 選項(圖 15)。通過從下拉列表中選擇一個編碼類型來設置編碼類型設置,或者在文本框中指定編碼類型。
在本系列文章的 第 2 部分 中,您將學習如何構建一個整合流程,調用 Salesforce.com 公開的基於 JSON 的 REST API 來創建一個帳戶。
本文介紹了如何配置 Read JSON 和 Write JSON 活動,並展示了如何在 WebSphere Cast Iron 中構建一個整合流程時高效處理 JSON 數據。在本系列文章的 第 2 部分 中,您將學習如何構建一個整合流程,它調用 Salesforce.com 公開的基於 JSON 的 REST API 來創建一個帳戶。在本系列文章的 第 3 部分 中,您將學習如何設計一個公開為一個基於 JSON 的 API 的整合流程。
查看本欄目