我有非常大的.json文件(超過5GB),我想將其轉換爲.xml格式。有沒有什麼軟件或方法可以做到這一點?如何將大的json文件轉換爲xml
我發現XML Editor
但只是XML => JSON轉換器。
我有非常大的.json文件(超過5GB),我想將其轉換爲.xml格式。有沒有什麼軟件或方法可以做到這一點?如何將大的json文件轉換爲xml
我發現XML Editor
但只是XML => JSON轉換器。
處理XML以及JSON文件的典型方法是將這些文件完全加載到內存中。然後你有一個所謂的DOM,它允許你進行各種數據處理。但XML和JSON都不是專爲存儲您在這裏擁有的大量數據而設計的。根據我的經驗,一旦超過200 MByte的限制,您通常會遇到內存問題。這是因爲DOM是由各個對象組成的。這種方法會導致巨大的內存開銷,遠遠超過您想要處理的數據量。
這樣處理文件的唯一方法就是採用流方式。基本思想:不是解析整個文件並將其加載到內存中,而是「即時」分析和處理文件。隨着數據被讀取,它被解析並觸發事件,軟件可以根據需要做出反應並執行一些操作。 (有關詳細信息,請參閱SAX API以更詳細地瞭解此概念。)
如您所述,您正在處理JSON,而不是XML。 JSON流API也可以在野外使用。無論如何,你可以很容易地自己實現一個:JSON是一個非常簡單的數據格式。儘管如此,這種方法通常會導致數據處理非常緩慢,因爲涉及了數百萬個方法調用:對於遇到的每個項目,您通常需要調用一個方法才能執行某些數據處理任務。此外,還會檢查您當前在流中遇到的信息類型,這些信息會減慢數據處理的速度。
你真的應該考慮使用不同的方法。首先將你的文件分成許多小文件,然後對它們進行處理。這種方法可能看起來不太優雅,但它有助於保持您的任務更簡單。這樣你就獲得了一個主要優勢:你將更容易調試你的軟件。
如果你願意從PEAR使用XML序列化,您可以在JSON的PHP對象,然後將PHP對象到XML轉換成兩個簡單的步驟:
檢查此鏈接瞭解更多
一個小例子
include("XML/Serializer.php");
function json_to_xml($json) {
$serializer = new XML_Serializer();
$obj = json_decode($json);
if ($serializer->serialize($obj)) {
return $serializer->getSerializedData();
}
else {
return null;
}
}
好運氣,並嘗試
看到這篇文章:[http://stackoverflow.com/questions/8988775/convert-json-to-xml-in-python](http://stackoverflow.com/questions/8988775/convert-json-to-xml在python)有人爲你做了。在Python中。 – dsXml
您可以嘗試在softwarerecs上找到這個答案 – Marged
您可以使用** xml2json-converter **(https://sourceforge.net/projects/xml2json-converter/)工具,該工具的GUI使用[Staxson](https ://github.com/beckchr/staxon)庫並用Java編寫。這個工具是OpenSource,可以在[GitHub](https://github.com/AntonMykolaienko/xml2json)上找到,它也可以通過沒有GUI的命令行啓動 –