1. 程式人生 > >xml轉json的兩種方法

xml轉json的兩種方法

1.第一種方法

使用JSON-JAVA提供的方法,之前一直使用json-lib提供的方法轉json,後來發現了這個開源專案,覺得用起來很不錯,並且可以修改XML.java中的parse方法滿足自己的轉換需要。

(1)首先去git下載所需的java檔案,並匯入專案

Git:https://github.com/stleary/JSON-java

(2)使用XML.java中提供的XML.toJSONObject(xml)方法即可完成xml到json的轉換,同時也可以對JSON進行格式化

 /* 第一種方法,使用JSON-JAVA提供的方法 */
            //將xml轉為json
            JSONObject xmlJSONObj = XML.toJSONObject(xml);
            //設定縮排
            String jsonPrettyPrintString = xmlJSONObj.toString(4);
            //輸出格式化後的json
            System.out.println(jsonPrettyPrintString);

2.第二種方法

使用json-lib的XMLSerializer物件

(1)建立XMLSerializer物件

(2)使用XMLSerializer的read(xml)方法即可

  /* 第二種方法,使用json-lib提供的方法 */
            //建立 XMLSerializer物件
            XMLSerializer xmlSerializer = new XMLSerializer();
            //將xml轉為json(注:如果是元素的屬性,會在json裡的key前加一個@標識)
            String result = xmlSerializer.read(xml).toString();
            //輸出json內容
            System.out.println(result);


3.測試

  public class Test {
        public static void main(String[] args) {
            String xml = "<class id="
                    + "'1'"
                    + "><student><name>aaaaaa</name><age>21</age></student><student><name>bbbbbb</name><age>22</age></student></class>";
     
            /* 第一種方法,使用JSON-JAVA提供的方法 */
            //將xml轉為json
            JSONObject xmlJSONObj = XML.toJSONObject(xml);
            //設定縮排
            String jsonPrettyPrintString = xmlJSONObj.toString(4);
            //輸出格式化後的json
            System.out.println(jsonPrettyPrintString);
     
            /* 第二種方法,使用json-lib提供的方法 */
            //建立 XMLSerializer物件
            XMLSerializer xmlSerializer = new XMLSerializer();
            //將xml轉為json(注:如果是元素的屬性,會在json裡的key前加一個@標識)
            String result = xmlSerializer.read(xml).toString();
            //輸出json內容
            System.out.println(result);
     
       }
 }


第一種方法輸出:

 {"class": {
        "id": 1,
        "student": [
            {
                "age": 21,
                "name": "aaaaaa"
            },
            {
                "age": 22,
                "name": "bbbbbb"
            }
        ]
    }}


第二種方法輸出:
 

{"@id":"1","student":[{"name":"aaaaaa","age":"21"},{"name":"bbbbbb","age":"22"}]}

原始碼下載:http://download.csdn.net/detail/lom9357bye/9690304
參考:http://hw1287789687.iteye.com/blog/2229267

http://heshans.blogspot.com/2014/01/java-library-to-convert-xml-to-json.html
Ref:https://blog.csdn.net/lom9357bye/article/details/53291994
 

相關推薦

java StringLong方法區別

基本數據 ring oat 兩種 基本 ava ger parse 兩種方法 第一種:包裝類型:Byte,Integer,Short,Long,Boolean,Character,Float,Double等8種 Long.valueOf("String")返回Long包裝

安卓客戶端開發:XMLJSON資料交換格式的比較

最近想給網站做客戶端,因此在考慮到底是用xml還是Json的問題,剛好在網上讀到了這篇文章。 目前,在web開發領域,主要的資料交換格式有XML和JSON,對於XML相信每一個web  developer都不會感到陌生;相比之下,JSON可能對於一些新步入開發領

java生成解析xml的另外方法JAXB

JAXB(Java Architecture for XML Binding) 是一個業界的標準,是一項可以根據XML Schema產生Java類的技術。該過程中,JAXB也提供了將XML例項文件反向生成Java物件樹的方法,並能將Java物件樹的內容重新寫到XML例項文件。從另一方面來講,JAXB提供了快速

文字語音 方法:TextToSpeech、科大訊飛

TextToSpeech核心程式碼: @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

Button點選事件實現頁面跳方法

方法一: 常用方式,在java檔案中給Button設定點選監聽事件button.setOnClickListener(),新建Intent類,從MainActivity跳轉至ImageTest but

Oracle 行方法

log src sco watermark insert core ora 記錄 sel 1.新建一個名為TEST表 2.向TEST表中添加數據 INSERT INTO TEST(STUDENT,COURSE,SCORE)select ‘張三‘,‘語文‘,78 from d

安卓——Intent(實現頁面跳方法

下圖中兩個不同的方法就是兩種頁面之間跳轉的情況1>跳轉不返回資料2>跳轉返回資料例項:第一種啟動方式(跳轉不返回資料)第二種啟動方式(跳轉返回資料)先看第一種:點選第一種啟動方式按鈕會出現右邊的圖,然後再點選Button按鈕返回左邊的介面,TextView中的內容

xmljson方法

1.第一種方法 使用JSON-JAVA提供的方法,之前一直使用json-lib提供的方法轉json,後來發現了這個開源專案,覺得用起來很不錯,並且可以修改XML.java中的parse方法滿足自己的轉換需要。 (1)首先去git下載所需的java檔案,並匯入專案 Git

[]Shell腳本之無限循環的方法

循環 spa 無限循環 無限 class 兩種方法 腳本 clas bsp 方法一: while循環,用的比較多的 #!/bin/bash set j=2 while true do let "j=j+1" echo "--------

SpringMVC中controller返回json數據的方法

rac new enter req imp 工具 response 返回 basepath SpringMVC中controller返回json數據的兩種方法 1.jsp的ajax請求: function getJson(){ $.ajax({ t

轉載:在ASP.net 3.5中 用JSON序列化對象(方法

for pep 技術分享 contract arr static returns web memory asp.net3.5中已經集成了序列化對象為json的方法。 1:System.Runtime.Serialization.Json; 2:Syst

微信小程序--跳頁面常用的方法

avi mage site product 小程序 src bsp XML 兩種 一.bindtap="onProductsItemTap"綁定點擊跳轉事件 在.wxml文件中綁定 在.js文件中實現綁定事件函數 二.navigator標簽配合URL跳轉

十進制十六進制的方法 莫名其妙指針

指針 十六進制轉十進制#include<stdio.h> int main() { int n; scanf("%d",&n); printf("%X\n",n); return 0; } 莫名其妙的指針方法#include<s

】Vue-詳解設置路由導航的方法: <router-link :to="..."> 和router.push(...)

name app query outer 參數 size 命名 字符 適用於 一、<router-link :to="...">  to裏的值可以是一個字符串路徑,或者一個描述地址的對象。例如: // 字符串 <router-link to="apple

python中listcsv的方法

方法一: name_attribute = ['NumberID','UserID','ModuleID','StartDate','EndDate','Frequent'] writerCSV=pd.DataFrame(columns=name_attribute,data=data) wr

CSS實現自適應不同大小螢幕的背景大圖的方法自簡書)

CSS實現自適應不同大小螢幕的背景大圖的兩種方法 一張清晰漂亮的背景圖片能給網頁加分不少,設計師也經常會給頁面的背景使用大圖,我們既不想圖片因為不同解析度圖片變形,也不希望當在大屏的情況下,背景有一塊露白,簡而言之,就是實現能自適應螢幕大小又不會變形的背景大圖,而且背景圖片不會隨著

java程式將漢字成拼音的方法-----------------第二方式

同樣需要下載pom檔案,匯入相應的jar包!!!!!! import net.sourceforge.pinyin4j.PinyinHelper;   import net.sourceforge.pinyin4j.format.HanyuPi

fastDFS+LibreOffice多檔案上傳(二)後端部分:檔案資訊json字串儲存資料庫(Gson和org.json方式)

需要注意的地方: 1)如果你複製我的程式碼到你的程式上報錯,可以看看我第一篇文章實體類跟配置檔案的設定:https://blog.csdn.net/qq_36688143/article/details/84162924 第二篇檔案上傳前端頁面的程式碼: https://blog.c

十六進位制八進位制方法

#include "stdafx.h" #include <iostream> #include <string> using namespace std; int main() {  int n=0;  cin >> n;  str

Base64位元組陣列圖片的方法

問題引出: 在某些情況下Rest API約定不允許通過流形式直接GET提供到客戶端直接展示圖片。如果是這樣,那麼就只能把後端生成的圖片轉成ByteArray返回給前臺,讓前臺重新把它變成圖片!這裡提供兩種解析方法 第一種方法: data中包含了一個PNG圖片驗證