2016-01-07 48 views
0

我有非常大的.json文件(超過5GB),我想將其轉換爲.xml格式。有沒有什麼軟件或方法可以做到這一點?如何將大的json文件轉換爲xml

我發現XML Editor

但只是XML => JSON轉換器。

+2

看到這篇文章:[http://stackoverflow.com/questions/8988775/convert-json-to-xml-in-python](http://stackoverflow.com/questions/8988775/convert-json-to-xml在python)有人爲你做了。在Python中。 – dsXml

+0

您可以嘗試在softwarerecs上找到這個答案 – Marged

+0

您可以使用** xml2json-converter **(https://sourceforge.net/projects/xml2json-converter/)工具,該工具的GUI使用[Staxson](https ://github.com/beckchr/staxon)庫並用Java編寫。這個工具是OpenSource,可以在[GitHub](https://github.com/AntonMykolaienko/xml2json)上找到,它也可以通過沒有GUI的命令行啓動 –

回答

1

處理XML以及JSON文件的典型方法是將這些文件完全加載到內存中。然後你有一個所謂的DOM,它允許你進行各種數據處理。但XML和JSON都不是專爲存儲您在這裏擁有的大量數據而設計的。根據我的經驗,一旦超過200 MByte的限制,您通常會遇到內存問題。這是因爲DOM是由各個對象組成的。這種方法會導致巨大的內存開銷,遠遠超過您想要處理的數據量。

這樣處理文件的唯一方法就是採用流方式。基本思想:不是解析整個文件並將其加載到內存中,而是「即時」分析和處理文件。隨着數據被讀取,它被解析並觸發事件,軟件可以根據需要做出反應並執行一些操作。 (有關詳細信息,請參閱SAX API以更詳細地瞭解此概念。)

如您所述,您正在處理JSON,而不是XML。 JSON流API也可以在野外使用。無論如何,你可以很容易地自己實現一個:JSON是一個非常簡單的數據格式。儘管如此,這種方法通常會導致數據處理非常緩慢,因爲涉及了數百萬個方法調用:對於遇到的每個項目,您通常需要調用一個方法才能執行某些數據處理任務。此外,還會檢查您當前在流中遇到的信息類型,這些信息會減慢數據處理的速度。

你真的應該考慮使用不同的方法。首先將你的文件分成許多小文件,然後對它們進行處理。這種方法可能看起來不太優雅,但它有助於保持您的任務更簡單。這樣你就獲得了一個主要優勢:你將更容易調試你的軟件。

1

如果你願意從PEAR使用XML序列化,您可以在JSON的PHP對象,然後將PHP對象到XML轉換成兩個簡單的步驟:

檢查此鏈接瞭解更多

convert json to 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; 
    } 
} 

好運氣,並嘗試