xml(帶屬性)轉json格式

2021-08-21 19:16:57 字數 1431 閱讀 9377

這裡用的是fastjson

xml轉json可給我折騰苦了,首先不是正常的xml格式123,而是,如果只是單層巢狀,例如:

,這種的還好說,迴圈一下結束戰鬥

目前是這種樣子的xml格式,例如:

,這個就有點難住我了。

我先說下我的思路(行不通),首先直接獲取

element publicele = document.getrootelement().element("public");

之後開始轉jsonobject然後開始迴圈,將每個節點放入map裡面,然後遞迴,再然後map轉json,有個地方卡殼了,如果在這個地方,例:

中是沒有value屬性的,所以不能放到map裡面,可能需要放到list裡面,但是放入list裡面之後不知道怎麼記著這個節點位置,而且還要遞迴,遞迴完之後再mapjson或者list放入map中,總之是行不通,轉換不了。

換乙個思路,換乙個,既然這是特殊格式的xml,那麼咱們就把特殊格式的xml轉為正常格式的xml,然後再將正常的xml轉為json。

下面放**:

//放幾個必要的

import org.dom4j.document;

import org.dom4j.documenthelper;

import org.dom4j.element;

import com.alibaba.fastjson.json;

import com.alibaba.fastjson.jsonarray;

import com.alibaba.fastjson.jsonobject;

public

static string xml3json(string xmlstr) throws documentexception

@suppresswarnings("unchecked")

public

static

void

xmltojsonlist(element publicele) else

}}

測試:

public static void main(string args) throws documentexception
輸出(格式化後的):

}}}

}}

這樣就暫時搞定了,不過還需要研究一下xml正常模式轉json格式。

XML轉JSON 個人總結

abcde sina.com abcde lixin sina.com lixin json格式 與xml比較 1.最外圍一對大括號 2.如果乙個節點有其父節點,那麼這個節點應該用大括號括起來 3.如果乙個節點有子節點,那所有子節點應該用一對中括號括起來 4.對於每乙個子節點,其格式都是,這種格式,...

json轉xml 附案例

將json格式化字串轉換成xml格式,例如 xstream依賴 注意要新增get set方法 這裡已經實現了json到xml轉換,但是輸出發現不是我們想要的格式,別急,我整理了一下我遇到的問題 1.將最外層根節點替換成 root xstream.alias root resultinfo.getcl...

xml和json格式輸出

class response type isset get format get format self json result array code code,message message,data data if type json elseif type array elseif type ...