2011-09-12 21 views
3

我一直在尋找一組例程來做JSON和XML之間的轉換無濟於事。我在Javascript,Java,PHP和Python中找到了這樣的例程,但在C或C++中找不到。JSON <->在C/C++中的XML

FWIW,我的json庫是json-spirit。我目前正在處理JSON,並希望通過轉換層添加XML支持(將傳入消息從XML轉換爲JSON,處理它們,將結果轉換回XML,然後將它們轉出)。

有沒有人有任何指針?

我也見過一些badgerfish,rayfish,rabbitfish ...編碼約定的參考,但它們似乎指向了死鏈接。是否有引用描述每個約定的地方?

是的,我檢查了json.org。

+0

要添加部分答案我的問題,rayfish,badgerfish等。 Al的描述在這裏:http://www.bramstein.com/projects/xsltjson/ –

回答

3

Boost.PropertyTree同時處理JSON和XML。在他們的實現中有一些怪癖,所以它不會是一個直接的轉換,但它不需要太多的工作來調整JSON和XML之間的property_tree。

+0

需要記住的東西 - Boost.PropertyTree沒有合適的XML解析器;它只支持它能夠生成的XML子集,這是非常非常少的。 – ildjarn

+0

謝謝,我會試試這個。 –

+0

還有別的要記住。 Boost.PropertyTree沒有一個像樣的JSON編寫器(或者至少我使用的版本沒有)。屬性樹不追蹤類型,所以所有東西都以字符串形式出現,並不是所有的屬性樹都可以作爲json輸出,這意味着你可能有可讀的XML,但是不能保存爲JSON。 –

1

您可以爲您的xml文檔編寫一個xslt以轉換爲json。但是我看不到用於轉換json的標準jslt。

+0

是的,我已經看到了這個解決方案,但除了必須現在引入一個XML庫(沒有什麼大不了,我準備這麼做),這也意味着我需要爲json-> XML。我可以做xml-> json,但是json-> xml對我來說有點難度。 –

+0

XSLT 3.0還提供了JSON到XML的轉換:https://www.w3.org/TR/xslt-30/#json-to-xml-mapping – ColinMaudry

相關問題