1. 程式人生 > >【CSDN常見問題解答】JSON和XML格式互相轉換

【CSDN常見問題解答】JSON和XML格式互相轉換

JSON格式和XML格式都是比較常見的資料儲存格式。但是有時候我們會從介面從伺服器或者其他途徑呼叫返回的結果並不是我們想要的。常見的就是我需要XML格式的,結果伺服器返回給我的是JSON格式。今天的常見問題就是,Java中JSON和XML如何互相轉換。

首先還是老規矩,上測試程式碼:

import net.sf.json.JSONObject;
import net.sf.json.xml.XMLSerializer;

public class JSONToXml {
	private static final String STR_JSON = "{\"name\":\"Michael\",\"address\":{\"city\":\"shanghai\",\"street\":\" Changjiang Road \",\"postcode\":100025},\"blog\":\"http://cross.withiter.com\"}";
	public static String xml2JSON(String xml){
		return new XMLSerializer().read(xml).toString();
	}
	
	public static String json2XML(String json){
		JSONObject jobj = JSONObject.fromObject(json);
		String xml =  new XMLSerializer().write(jobj);
		return xml;
	}
	
	public static void main(String[] args) {
		String xml = json2XML(STR_JSON);
		System.out.println("xml = "+xml);
		String json = xml2JSON(xml);
		System.out.println("json = "+json);
	}
}

直接右擊run as java application,列印:
xml = <?xml version="1.0" encoding="UTF-8"?>
<o><address class="object"><city type="string">shanghai</city><postcode type="number">100025</postcode><street type="string"> Changjiang Road </street></address><blog type="string">http://cross.withiter.com</blog><name type="string">Michael</name></o>

Dec 30, 2013 2:32:41 PM net.sf.json.xml.XMLSerializer getType
INFO: Using default type string
json = {"address":{"city":"shanghai","postcode":100025,"street":" Changjiang Road "},"blog":"http://cross.withiter.com","name":"Michael"}

我們可以看到兩種輸出格式。注意這裡用到的
XMLSerializer
JSONObject

很簡單對不對? Try it!

相關推薦

CSDN常見問題解答JSONXML格式互相轉換

JSON格式和XML格式都是比較常見的資料儲存格式。但是有時候我們會從介面從伺服器或者其他途徑呼叫返回的結果並不是我們想要的。常見的就是我需要XML格式的,結果伺服器返回給我的是JSON格式。今天的常見問題就是,Java中JSON和XML如何互相轉換。首先還是老規矩,上測試程

webApi-配置jsonxml格式及時間格式

在config檔案中修改如下程式碼: //新增全域性異常過濾器 config.Filters.Add(new ErrorFilterAttribute()); //設定xml格式器---用於遮蔽字典型別xml序列化錯誤

關於JSONXML格式之間的轉換

1.JSON轉XML /** * json字串轉換成xml格式字串 * * @return */ public static String json2Xml() { String json = "{\"business\":{\"body\":{\"fpdm\":\"發

mysqlDateString的互相轉換(DATE_FORMAT & STR_TO_DATE)

1.Date  ——>  String 使用的函式:DATE_FORMAT(date,format)     date:需要轉換的日期       format:格式化的樣式 format樣式整理: 年: %Y 顯示四位 : 2015            

數組xml互相轉換的封裝函數

iss 數組 nbsp bsp load val urn document ray /** * 數組轉換為xml * * @param array $arr * @param int $level * @return strin

JAXB 實現Javaxml互相轉換

下面是 轉於 : https://blog.csdn.net/qq383264679/article/details/52231128           感謝博主 首先介紹下什麼是JAXB?

JsonXML互相轉換

net.sf.json.xml.XMLSerializer private static String json2Xml(JSONObject json,String rootName){ String sXml=""; XMLSerializer xmlSeria

WebService系列部落格{九}[JAXBContext---javaxml互相轉換]

java和xml的互相轉換,依靠強大的JAXBContext可以輕鬆實現。 下面通過一個簡單案例學習一下JAXBContext 首先準備好一個JavaBean供實驗: 注意 1、類檔案註解:@XmlRootElement不可缺少 2、2個Student的構造方法不能少

常用需求系列——字典xml互相轉換

def arrayToXml(self, arr): xml = [''] for k, v in arr.iteritems(): if v.isdigit():

JavaScript:語法JSON 與 JavaScript的關係區別

【百度百科】JSON 1、JSON(JavaScript Object Notation, JS 物件簡譜) 是一種輕量級的資料交換格式。 2、JSON 與 JS 物件的關係 很多人搞不清楚 JSON 和 Js 物件的關係,甚至連誰是誰都不清楚。其實,可以這麼理解:

面試常見問題C++指標引用的區別,有哪些不同點,細細道1

首先咱們弄清楚複合型別(Compound type)這個概念,因為指標和引用是Compound type中的兩種! 引用(reference): 何謂“引用”,這麼說吧,相信每個人都有個乳名,後來等到你升學入職啥的發現乳名B格很Low ! 這時候需要為自己起另外一個名字

疑問與解答地址的位數不是作業系統有關嗎?為什麼我的是64位的作業系統,寫的C語言程式,裡面的變數地址是32位的?

問:地址的位數不是和作業系統有關嗎?為什麼我的是64位的作業系統,寫的C語言程式,裡面的變數地址是32位的? 答:你說你的系統是64位,但是,不知您的C編譯程式採用了什麼模式。 具體的C編譯程式有不同的模式,如“微模式”、“小模式”、“中模式”、“大模式”、“巨模式”等等。

javajsonlist互相轉化工具類

import java.util.List; import net.sf.json.JSONArray; public class JsonListUtil { /** * Li

JAVAWEB學習筆記23_Listener郵箱服務器

添加 .get 接收 監聽 lin 感知 一個 rate 包括 監聽器Listener 學習目標 案例-使用監聽器完成定時生日祝福 一、監聽器Listener javaEE包括13門規範 在課程中主要學習 servlet技術 和 jsp技術 其中

jsonxml封裝數據、數據緩存到文件中

用戶 lena 數據緩存 完全 數據類型 lin print 函數 response 一、APP的通信格式之xml xml:擴展標記語言,可以用來標記數據,定義數據類型,是一種允許用戶對自己標記語言進行定義的源語言。XML格式統一,擴平臺語言,非常適合數據傳輸和通信,業界

快來看看Google出品的Protocol Buffer,別僅僅會用JsonXML

println 輸出流 基本數據類型 下一個 ebr sid 官網 序列 reg 前言 習慣用 Json、XML 數據存儲格式的你們,相信大多都沒聽過Protocol Buffer Protocol Buffer 事實上 是 Google出品的一種輕

pythontime datetime類型轉換,字符串型變量轉成日期型變量

-h with ptime 世紀 represent 字符串轉換 代碼 mes ear s1=‘20120125‘; 6 s2=‘20120216‘; 7 a=time.strptime(s1,‘%Y%m%d‘); 8 b=time.st

ajax ---- json xml 區別

需要 pro ces 文件格式 很多 pos 使用 基本 perl 2.XML和JSON優缺點 (1).XML的優缺點<1>.XML的優點  A.格式統一,符合標準;  B.容易與其他系統進行遠程交互,數據共享比較方便。<2>.XML的缺點  A.X

抓包分析Charles 夜神模擬器 對安卓應用進行抓包分析

技術分享 windows red 工具 com nsh pro 4.2 name 準備工具 : 1 Charles : https://www.charlesproxy.com (收費) 2 夜神模擬器 : https://www.yeshen.com (免費)

python 3.6xlwtxlrd對excel的讀寫操作

times python _for 一行 xlsx datetime 列數 font utf-8 #python 3.6 #!/usr/bin/env python # -*- coding:utf-8 -*- __author__ = ‘BH8ANK‘ im