我試圖建立一些數據網絡API響應的JSON表示。例如數據的XML表示看起來像如何表示父元素的文本部分內的XML元素JSON
<parent>
parent text <child>child text</child> more parent text
</parent>
有人可以告訴我這個XML在JSON中的正確表示嗎?或者有什麼建議?子元素可能並不總是存在,但當它存在時,它的位置必須被保留。
我試圖建立一些數據網絡API響應的JSON表示。例如數據的XML表示看起來像如何表示父元素的文本部分內的XML元素JSON
<parent>
parent text <child>child text</child> more parent text
</parent>
有人可以告訴我這個XML在JSON中的正確表示嗎?或者有什麼建議?子元素可能並不總是存在,但當它存在時,它的位置必須被保留。
有表示,隨着JSON沒有明顯的方式。 JSON中沒有與XML中的文本節點和元素直接等價的內容。
的一種方法是用字符串作爲文本的XML節點最接近的事情,但是,讓你與混合數據類型,它可能不那麼容易解析的數組。示例:
[
"parent text ",
{ "text": "child text" },
" more parent text"
]
另一種方法是使用一個對象數組,其中每個對象都有一個類型和一個文本。你可以使用一個類型"text"
代表純文本和類型"child"
代表的子元素:
[
{ "type": "text", "text": "parents text " }
{ "type": "child", "text": "child text" }
{ "type": "text", "text": " more parent text" }
]
我不認爲有任何清潔的,人類可讀的JSON表示這種方式,但你可以考慮每個節點都作爲子節點的列表。如果它是純文本節點,則將其表示爲一個字符串,否則將其設爲對象。然後
客戶機代碼將必須檢查每個值的類型(如果它是一個串或對象)。
事情是這樣的:
{
"parent":
[
"parent text ",
{
"child": [
"child text"
],
}
" more parent text"
]
}
謝謝,是的,這是我們有一個選項,但會留下用戶找到的所有文字類型和串聯,只是爲了讓父母的文本值。但是我們仍然是傾向於此選項 – asahun
你覺得保持整個文本在一起的是什麼,並保持在子元素的偏移量。 – asahun
@Fisseha:是的,如果輕鬆獲得父母的全部文本內容是一項優先事項,那將是一種選擇。儘管如此,它不會是人類可讀的。 – Guffa