1. 程式人生 > >Java將XML轉換成Json格式資料

Java將XML轉換成Json格式資料

/**
 * 將XML解析為JSON,讓Json處理服務支援XML報文
 * 依賴包: 
 *    1. jdom-2.0.2.jar : xml解析工具包; 
 *    2. fastjson-1.1.36.jar : 阿里巴巴研發的高效能json工具包
 */


package com.xxx.open.pay.util;


import com.alibaba.fastjson.JSONObject;
import org.jdom2.Element;
import org.jdom2.JDOMException;
import org.jdom2.input.SAXBuilder;

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.LinkedList;
import java.util.List;

/**
 * Created by 
[email protected]
on 2015/5/19. */ public class XmlUtil { public static JSONObject xml2JSON(byte[] xml) throws JDOMException, IOException { JSONObject json = new JSONObject(); InputStream is = new ByteArrayInputStream(xml); SAXBuilder sb = new SAXBuilder(); org.jdom2.Document doc = sb.build(is); Element root = doc.getRootElement(); json.put(root.getName(), iterateElement(root)); return json; } private static JSONObject iterateElement(Element element) { List node = element.getChildren(); Element et = null; JSONObject obj = new JSONObject(); List list = null; for (int i = 0; i < node.size(); i++) { list = new LinkedList(); et = (Element) node.get(i); if (et.getTextTrim().equals("")) { if (et.getChildren().size() == 0) continue; if (obj.containsKey(et.getName())) { list = (List) obj.get(et.getName()); } list.add(iterateElement(et)); obj.put(et.getName(), list); } else { if (obj.containsKey(et.getName())) { list = (List) obj.get(et.getName()); } list.add(et.getTextTrim()); obj.put(et.getName(), list); } } return obj; } public static void main(String[] args) throws JDOMException, IOException { String xml="<?xml version=\"1.0\" encoding=\"utf-8\" ?><MoBaoAccount MessageType=\"UserMobilePay\" PlatformID=\"b2ctest\"><OrderNo>M20150521084825</OrderNo><TradeAmt>5000.00</TradeAmt><Commission>0.5</Commission><UserID>zhuxiaolong</UserID><MerchID>zhuxiaolong1</MerchID><tradeType>0</tradeType><CustParam>123</CustParam> <NotifyUrl>http://mobaopay.com/callback.do</NotifyUrl><TradeSummary>訂單</TradeSummary></MoBaoAccount>"; JSONObject json=xml2JSON(xml.getBytes()); System.out.println(json.toJSONString()); } }

相關推薦

JavaXML轉換Json格式資料

/** * 將XML解析為JSON,讓Json處理服務支援XML報文 * 依賴包: * 1. jdom-2.0.2.jar : xml解析工具包; * 2. fastjson-1.1.36.jar : 阿里巴巴研發的高效能json工具包 */ p

pythonxml轉換json數據

.text ict get request class mlp 格式化 json數據 str # -*- coding: utf-8 -*- import requests import xmltodict import json def get_response(re

C#XML轉換JSON轉換XML

XmlDictionaryReader reader = JsonReaderWriterFactory.CreateJsonReader(Encoding.UTF8.GetBytes(sJson), XmlDictionaryReaderQuotas.Max); XmlDocument doc = ne

物件轉換json格式

public static String objectToJson(Object ts){ Gson gson=new Gson(); String jsonSt

python:xml格式文件轉換json格式文件

Python 腳本 xml轉json 由於json格式的文件在處理起來,有很強的便利性,而工作中每天產生大量的xml格式的文件,所以有需求將xml格式的文件轉換成json格式的文件。下面直接貼出代碼,有兩個版本,根據需求自由選擇: #!/usr/bin/python # -*- coding: u

pythonBug記錄:django資料庫資料轉換JSON格式

1.採用Django Model層,ORM技術 轉換成JSON格式 def getdata(request): # 使用ORM # all()返回的是QuerySet 資料型別;values()返回的是ValuesQuerySet 資料型別 ret = model

SSM後臺獲取的資料轉換json格式傳遞到前臺頁面

1、後臺從資料庫中獲取資料,傳遞到response中 這一步折騰了我一整天,不知道是因為沒有傳遞到response中還是其他的原因,在前臺獲取的data,使用alert(data)輸出的一直為空值或null 有兩種方式可以實現這一步。一是利用註解@ResponseBody,

如何list型別的資料轉換json格式在伺服器端

今天學習瞭如何將object型別的資料轉換成json格式,並且在返回給瀏覽器,並且在瀏覽器端收到json格式的資料之後在成功的解析成我麼所需要的格式的資料 1:在伺服器端將object型別的資料轉換成json格式需要一些jar包 為了方便說清楚,以示例為主來

javaxml解析,然後轉換json格式(①)

java將xml裡面的內容解析的方法在我前面的文章:java解析xml檔案獲取xml裡面的資訊 有什麼問題可以給我留言!!! 下面就是如何將model轉換為json格式的內容: public class Student { private String

django-數據庫數據轉換JSON格式(ORM和SQL兩種情況)

user 展示 blog serialize 進行 項目開發 不管怎麽說 語句 spa 最近打算搞一個自動化運維平臺,所以在看Django的知識。 在實際項目開發中,遇到一個小問題:前後端發生數據交互主流采用的是JSON。前端傳數據到服務器端比較簡單,稍微麻煩的是服務器端傳

用fastjson物件的列表轉換json格式,並讀寫.json檔案

import com.alibaba.fastjson.JSON; import org.json.JSONArray; import org.json.JSONObject; public static void main(String[] args) {

java如何字串轉換日期格式

先用parse轉成date型,再用format轉成string。 public static void main(String[] args) throws Exception{ Date date = new SimpleDateFormat(“yyyy-MM

JavaScript:表單序列化後的資料轉換json格式

表單序列化可以比較方便的拿到form表單中的資料,但是序列化後的資料是一段url字串.這邊利用方法轉化成json資料格式: var DataDeal = { //將從form中通過

SAX 解析XML檔案:XML轉換Java物件

本部落格介紹的是解析本地XML檔案,解析網路上的XML 本文寫得比較簡略,實際上專案應用更多的是解析網上的xml資源 使用SAX 處理XML需要一個Handler 物件,一般繼承org.xml.sax,helpers.DefaultHandler 作為Handler 物件

一個物件集合轉換JSON格式

List<ServiceWorkOrder> serviceWorkOrderList = new ArrayList<ServiceWorkOrder>();         //轉換成JSON各式         JSONArray jsonAr

我們怎麽樣DWG轉換PDF格式

cad 這個問題有很多人問過我,也有很多同事都在網上找過很多方法,但是他們的工作效率和質量始終提不上去。我想說的是我們可以排除一些老套的方法,現在有很多新鮮出爐的方法可以讓我們更好的工作和學習,為什麽不嘗試呢? 今天我給大家介紹我的方法,也運用到迅捷dwg轉pdf轉換器的應用,

如何才能PDF轉換CAD格式呢?

這個問題對於很多剛接觸cad軟件的新手來說非常的麻煩,不僅在對圖紙進行設計和編輯之後。再給客戶或同事發送文件的時候,需要轉換格式、保存文件格式等等,都需要對文件進行格式轉換。 今天我就教你一招,可以對任意文件進行轉換任意格式,而且任意格式都能打開進行編輯、瀏覽和修改文件。而且

mac下如何圖片轉換PDF格式

idt www 步驟 blank chm mod mac bsp 技術 圖片的格式有很多中,PDF也是經常使用的一種,那麽如何將圖片轉換成PDF格式?除了可以通過軟件進行轉換格式之外,通過電腦的基本操作也是可以實現的!小編總結了具體的操作步驟,簡單的計步就可以將您手中的圖片

javaxml轉換json對象

xml轉換 serial () hid cti mave tostring code ace 1、前提須要jar包: json-lib-2.4-jdk15.jar 和 xom-1.2.5.jar ,maven 倉庫: net.sf.jso

如何swf轉換MP4格式?視訊轉換器如何使用

很多人都不是很瞭解視訊和視屏的區別,視屏很容易理解啊,屏自然指的是螢幕,也就是說是可視螢幕,類似的就是電視的顯示屏,電影院的熒屏。視訊指的是錄影,可視影像之類的,和音訊(錄音)相似。當然了音訊和視訊一個主要用來聽一個主要用來看還是不同的。那麼怎麼swf格式視訊檔案轉換為MP4格式呢?這個還需用到我們的視訊