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 String轉Long兩種方法區別
基本數據 ring oat 兩種 基本 ava ger parse 兩種方法 第一種:包裝類型:Byte,Integer,Short,Long,Boolean,Character,Float,Double等8種 Long.valueOf("String")返回Long包裝
安卓客戶端開發:XML和JSON兩種資料交換格式的比較
最近想給網站做客戶端,因此在考慮到底是用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中的內容
xml轉json的兩種方法
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中list轉csv的兩種方法
方法一: 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圖片驗證