[英]Why HL7 FHIR Json Resources do not have a “root” element
我正在實現一個FHIR服務器,該服務器能夠接收兩種格式(XML / Json)的資源。 為了使之簡單一致,我的想法是在內部僅使用XML並將Json請求轉換為XML,反之亦然,但是盡管它適用於一些示例Json文檔,但不適用於FHIR Json資源。 主要原因是FHIR Json資源沒有“根”元素,因此XML轉換工具無法創建適當的輸出XML。
FHIR Json觀測資源就像;
{"resourceType": "Observation","id": "example",...}
並帶有根元素應該是
{Observation:{"id": "example",...}}
我知道Json文檔具有根元素不是強制性的,但是如果大多數XML <-> Json轉換器在那種情況下工作得更好並且FHIR接受兩種格式,為什么不使用根元素定義FHIR Json資源呢? 特別是在某些最初的DSTU使用該方法時。
謝謝
做出的決定是使JSON成為JSON人們想要的方式,使XML成為XML人們想要的方式,並放棄使用現成的轉換器。 使用現成的轉換器會導致一組或另一組或兩者都討厭的語法。 每個人都必須處理實例。 自定義轉換器只需編寫一次。 無論如何,“為什么規范會按照它的方式做事”對於Stack Overflow來說不是范圍之內-最好在chat.fhir.org上提出。
您正在運行JSON沒有的XML限制。 因為您僅需要XML供內部使用,並且始終使用JSON來實現互操作性,所以最好將傳入的JSON包裝在根元素中,並在導出為JSON時將其刪除。 我認為這不會導致許多代碼行或性能損失。
如果您要對此更改FHIR的行為,則最好在其他地方解決此問題,然后選擇Stackoverflow,其主要目的是交付實用的解決方案。
最好的祝福
對於我們公司而言,在此問題上可能面臨的挑戰是如何在不更改后台技術(Tomcat + Axis2)的情況下管理FHIR JSON請求。 在能夠使用正式的FHIR庫之前,我應該能夠從Axis訪問JSon請求。 如果對使用FHIR和Axis的人可能有用,在以下問題中,我解釋了誰實施了Axis2 JSon支持(Jettison)不良xml轉換 。
THKS。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.