我知道幾個將XML轉換爲JSON的開源java庫。java中的XML到JSON轉換
但是,我正在尋找一個庫(或方式),將抑制元素屬性前面的前導@。因此,例如,給出以下JSON字符串:
{ "description":
{ "@lang":"en-us",
"@maxlength":"500",
"#text":"Vitamin D Supplementation"
}
}
我想產生以下JSON字符串(請注意在「郎」和「最大長度」的前失蹤@):
{ "description":
{ "lang":"en-us",
"maxlength":"500",
"#text":"Vitamin D Supplementation"
}
}
據我所知,沒有圖書館提供這樣做的方法。也許有一種方法可以使用正則表達式來實現這一點,但我必須小心不要在數據中剝離有效的@字符?
我懷疑有這樣做的問題是,你運行屬性「@ foo」和子元素「foo」之間的衝突風險。你當然可以後處理JSON來改變任何以'@'開頭的字典鍵,但是你需要一些其他策略來處理衝突。 – Darien 2011-06-09 18:26:41
這不會成爲問題,因爲另一個庫將使用JSON字符串,並將使用類型推斷作爲區分屬性和元素的一種方式。 – 2011-06-09 18:39:13
這仍然是一個問題,因爲你不能在JSON中做到這一點:'{「foo」:「你好」,「foo」:{}}',你永遠沒有機會看到兩個有效載荷,因爲它無效重複密鑰。 – Darien 2011-06-09 18:43:31