1. 程式人生 > >Java實現xml與json互相轉換

Java實現xml與json互相轉換

看到別人發的,感覺不錯,待驗證

1.第一種方法(個人實現的

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

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

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

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


2.第二種方法

使用json-lib的XMLSerializer物件

(1)建立XMLSerializer物件

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

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

3.測試

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

第一種方法輸出:

  1. {"class": {  
  2.     "id"1,  
  3.     "student": [  
  4.         {  
  5.             "age"21,  
  6.             "name""aaaaaa"
  7.         },  
  8.         {  
  9.             "age"22,  
  10.             "name""bbbbbb"
  11.         }  
  12.     ]  
  13. }}  

第二種方法輸出:
  1. {"@id":"1","student":[{"name":"aaaaaa","age":"21"},{"name":"bbbbbb","age":"22"}]}  

參考:http://hw1287789687.iteye.com/blog/2229267

相關推薦

Java實現xmljson互相轉換

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

JAVA 實現XMLJSON 相互轉換

tst throws light getc con parent urn In 工作 原文地址https://blog.csdn.net/congcong68/article/details/39029907 在工作中,經常碰到XML轉為JSON或者JSON轉為XML,在這

Java對象JSON互相轉換jsonlib以及手動創建JSON對象數組——(二)

ring lnl tft sem mkf ted family sae key     首先聲明一下,jsonlib轉換與GSON相比太差勁了,操作不是一般的繁瑣。GSON可以直接轉換成各種集合與對象類型。強烈推薦使用GSON。而且GSON一個方法就可以解決,

JAXB實現xml物件互相轉換

不需要引入任何外部jar包,JAXB自jdk1.5就已被整合,jdk1.7已升級為JAXB2。 1.xml報文 <?xml version="1.0" encoding="UTF-8"?> <root xmlns="urn:iso:std:iso:20022:tec

json&xml學習筆記--Java實現xmljson格式的互轉

寫在前面: 這裡使用的是耗費理解力最少的寫法,不代表最優解或最常用解。 XML轉JSON: 這個功能比JSON轉XML常用。 bo

JQuery擴展方法實現Form表單Json互相轉換

val adjust new 映射 checked josn fin pop undefined JQuery筆記 記兩段代碼,使用JQuery實現從表單獲取json與後端交互,以及把後端返回的json映射到表單相應的字段上。 把表單轉換出json對象 //把表單

java xmljson 相互轉換

需要json-lib-2.1-jdk15.jar和xom-1.2.5.jar,maven pom.xml如下: Xml程式碼   <dependency>    <groupId>net.sf.json-lib</groupId

javajson互相轉換(解決日期問題)

       JSON 即 JavaScript Object Natation,它是一種輕量級的資料交換格式,非常適合於伺服器與 JavaScript 的互動。本文主要講解下java和JSON之間的轉換,特別是解決互相轉換遇到日期問題的情況。     一、需要相關的jar包

實現xmlMap互相轉換的方法

1 使用vtd技術將xml轉換為Map    1)引入maven依賴:        <dependency>            <groupId>com.ximpleware</groupId>            <arti

c#中 xmljson 互相轉換

XML serialize AD -- ldo data nod load str --xml轉json XmlDocument doc = new XmlDocument(); doc.LoadXml(result); st

Java中物件和json互相轉換的工具類

package com.Dingyu.util; import java.util.List; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JavaT

java 資料map和json互相轉換

import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import net.sf.json.JSON; import net.sf.json.JSONObject; import com.googl

protobufjson互相轉換

 在功能測試或整合測試中,用json造輸入資料,然後moc測試指令碼將json轉化為protobuf傳送給被測試模組或服務,是非常常見的功能測試手段。         如果測試指令碼用Python來寫的話,一般的做法是用的Python呼叫json模組中函式解析json檔案,然後新建protobuf物件,依次填

jenkins:實現JenkinsfileJson轉換

### 實現Jenkinsfile與Json的轉換 [TOC] 最近在做個需求,需要支援Jenkinsfile和json的轉換。 ### 方法1:使用現有的jenkins外掛 參考的是[這篇文章](https://www.cnblogs.com/w1570631036/p/11726599.html)

使用XStream是實現XMLJava對象的轉換(2)--別名

name have ret lis sea sil 數組 ttr auth 五、使用別名(Alias) 首先,有這樣一段Java代碼: Java代碼 import java.util.ArrayList; import java.util.List;

使用XStream是實現XMLJava對象的轉換(6)--持久化

light 自己的 map stc title 指定 reg 對象 框架 九、持久化 在第八節的示例中,當我們操作一組對象時,我們可以指定Writer、OutputStream來寫出序列化後的XML數據,我們還可以指定Reader、InputStream來讀取序列化後的XM

使用XStream是實現XMLJava對象的轉換(5)--Object Stream

控制 () oid dex 關閉 ava -o setname otf 八,Object Stream 之前的例子我們都是直接輸出Xml成為String類型或者從String中獲得並解析Xml,現在我們要處理輸入流和輸出流! 1,輸出流(ObjectOutputStrea

Java Map型別Json字串的互相轉換----------親測有效

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; impor

xmlJSON相互轉換Java實現

依賴的包: json-lib-2.4-jdk15.jar ezmorph-1.0.6.jar xom-1.2.1.jar commons-lang-2.1.jar commons-io-1.3.2.jar jaxen-1.1.jar 輸入xml檔案,輸出JSON物件 Java程式碼   pa

Java實現圖片base64位編碼互相轉換

Base64目前主要用於HTML5、移動開發等不考慮IE6的場景中。 Base64格式 data:[][;charset=][;base64], Base64 在CSS中的使用 .demoImg{ b