java项目json转xml(byfastjson)(代码片段)

CalvinChan CalvinChan     2022-12-18     313

关键词:

Java 项目 JSON 转 XML(By fastjson)

package com.test;

import java.util.Iterator;
import java.util.Map.Entry;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

public class JsonToXml 

	public static void main(String[] args) 
		// TODO 自动生成的方法存根
		
		String jsonstr = "\\"A\\":\\"B\\":\\"C\\":\\"PUUID\\":\\"9e5a2bcc26b74e829ecf7d7a244b851a\\",\\"E\\":[\\"aa\\":\\"3ee2eac7281948858842d593f8f2c7ad\\",\\"hh\\":\\"18533446798\\",\\"ff\\":\\"\\",\\"gg\\":\\"N\\",\\"dd\\":\\"F\\",\\"bb\\":\\"f4eae0f34a5c4d1f93692aa19b3bf189\\",\\"ee\\":\\"\\",\\"bb\\":\\"y\\",\\"cc\\":\\"123456\\",\\"aa\\":\\"cd3008dbdf4b4205adbbb0f391e97904\\",\\"hh\\":\\"18533446799\\",\\"ff\\":\\"aa\\",\\"gg\\":\\"N\\",\\"dd\\":\\"F\\",\\"UUID\\":\\"7e037286fc484a06bd7243fe0cbd0889\\",\\"ee\\":\\"\\",\\"bb\\":\\"z\\",\\"cc\\":\\"456789\\"]";
		
		System.out.println("json to xml: " + executeJsonToXml(JSONObject.parseObject(jsonstr)));
	

	
	public static String jsontoxml(JSONObject jo, String gt) 
		StringBuffer xmlStr = new StringBuffer();
		Iterator<Entry<String, Object>> iter = jo.entrySet().iterator();
		while (iter.hasNext()) 
			Entry<String, Object> entry = (Entry<String, Object>) iter.next();
			String key = entry.getKey().toString();
			String val = entry.getValue().toString();
//			System.out.println("key: " + key);
//			System.out.println("val: " + val);
			//值非空
			if (!isStringNull(val)) 
				//JSON对象
				if (val.substring(0, 1).equals("")) 
					xmlStr.append(gt);
					xmlStr.append("<");
					xmlStr.append(key);
					xmlStr.append(">\\n");
					xmlStr.append(jsontoxml(JSONObject.parseObject(val), gt + "\\t"));
					xmlStr.append(gt);
					xmlStr.append("</");
					xmlStr.append(key);
					xmlStr.append(">\\n");
				 
				//JSON数组
				else if (val.substring(0, 1).equals("[")) 
					JSONArray ja = JSONArray.parseArray(val);
					for (int i = 0; i < ja.size(); i++) 
						JSONObject jo2 = new JSONObject();
						jo2.put(key, ja.getJSONObject(i));
						xmlStr.append(jsontoxml(jo2, gt + "\\t"));
					
				 
				//JSON值
				else 
					xmlStr.append(gt);
					xmlStr.append("<");
					xmlStr.append(key);
					xmlStr.append(">");
					xmlStr.append(val);
					xmlStr.append("</");
					xmlStr.append(key);
					xmlStr.append(">\\n");
				
			
			//值为空
			else
				xmlStr.append(gt);
				xmlStr.append("<");
				xmlStr.append(key);
				xmlStr.append(">");
				xmlStr.append("");
				xmlStr.append("</");
				xmlStr.append(key);
				xmlStr.append(">\\n");
			
		
		return xmlStr.toString();
	

	public static String executeJsonToXml(JSONObject jo0) 
		String xml = jsontoxml(jo0, "");
		return xml;
	

	// 判断字符串是否为空
	public static boolean isStringNull(String str) 
		if (str == null || str.isEmpty() || str.length() == 0 || "".equals(str)) 
			return true;
		
		return false;
	


测试 JSON


  "A": 
    "B": 
      "C": 
        "PUUID": "9e5a2bcc26b74e829ecf7d7a244b851a",
        "E": [
          
            "aa": "3ee2eac7281948858842d593f8f2c7ad",
            "hh": "18533446798",
            "ff": "",
            "gg": "N",
            "dd": "F",
            "bb": "y",
            "ee": "",
            "cc": "123456"
          ,
          
            "aa": "cd3008dbdf4b4205adbbb0f391e97904",
            "hh": "18533446799",
            "ff": "aa",
            "gg": "N",
            "dd": "F",
            "UUID": "7e037286fc484a06bd7243fe0cbd0889",
            "ee": "",
            "bb": "z",
            "cc": "456789"
          
        ]
      
    
  

输出 XML

<A>
	<B>
		<C>
			<PUUID>9e5a2bcc26b74e829ecf7d7a244b851a</PUUID>
				<E>
					<aa>3ee2eac7281948858842d593f8f2c7ad</aa>
					<hh>18533446798</hh>
					<ff></ff>
					<gg>N</gg>
					<dd>F</dd>
					<bb>y</bb>
					<ee></ee>
					<cc>123456</cc>
				</E>
				<E>
					<aa>cd3008dbdf4b4205adbbb0f391e97904</aa>
					<hh>18533446799</hh>
					<ff>aa</ff>
					<gg>N</gg>
					<dd>F</dd>
					<ee></ee>
					<bb>z</bb>
					<cc>456789</cc>
					<UUID>7e037286fc484a06bd7243fe0cbd0889</UUID>
				</E>
		</C>
	</B>
</A>

在线代码格式化网站:

OSCHINA 在线代码格式化

xml字符串转xml对象,xml对象转json对象

xml字符串转xml对象: functionloadXml(str){if(str==null){returnnull;}vardoc=str;try{doc=createXMLDOM();doc.async=false;doc.loadXML(str);}catch(e){doc=$.parseXML(str);}returndoc;} /***xml对象转json对象*xm 查看详情

c#json转xml

直接上code:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Xml;usingNewtonsoft.Json;namespaceJsonToXml{classProgram{staticvoidMain(string[]args){//讀取檔案並儲存成string 查看详情

xml字符串转json

packagecom.yile.test;importcom.google.gson.Gson;importcom.thoughtworks.xstream.XStream;importcom.thoughtworks.xstream.io.xml.DomDriver;importcom.yile.model.Product;publicclassXStreamTest{ publicstatic 查看详情

jackson学习笔记xml转json(代码片段)

...vaBean>JsonXML>JsonNode利用jackson实现xml2json。依赖SpringBoot项目自带了jackson-databind省略。只需要添加jackson-dataformat-xml即可。另外version也可以省掉。<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databin... 查看详情

xml转json

依赖的包:json-lib-2.4-jdk15.jarezmorph-1.0.6.jarxom-1.2.1.jarcommons-lang-2.1.jarcommons-io-1.3.2.jarjaxen-1.1.jar输入xml文件,输出JSON对象Java代码 package com.cash.util;    import  查看详情

xml转json

1、cJSONcJSON.hcJSON.c(查看文件)2、libxml2代码如下:#include<stdlib.h>#include<string.h>#include<stdio.h>#include<libxml/xmlmemory.h>#include<libxml/parser.h>#include"cJSON.h"xmlNod 查看详情

json转xml

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<sys/stat.h>#include<libxml/xmlmemory.h>#include<libxml/parser.h>#include"cJSON.h"voidjson_loop(cJSON*j 查看详情

枚举与字符串转及recordset转xml,json

functionAdoToJs(ado:TADOQuery):string;varI,J:Integer;json:string;beginjson:=‘{columns:[‘;forI:=0toado.FieldCount-1dobeginjson:=json+‘{name:"‘+ado.Fields[I].FieldName+‘",type:"‘+DbTypeToStr(ado.Fields[ 查看详情

json与xml的区别比较(转)

原文链接:JSON与XML的区别比较1.定义介绍(1).XML定义扩展标记语言(ExtensibleMarkupLanguage,XML),用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言... 查看详情

mavenpom.xml解释(转)

maven3实战之maven使用入门(编写POM)----------maven项目的核心是pom.xml。POM(ProjectObjectModel,项目对象模型)定义了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等。如例,新建一个名为pom.xml的文件: Xml代码  <... 查看详情

java中json对象与xml字符串互转

JSON转XML转:https://blog.csdn.net/u013714419/article/details/24804337XMLSerializerxmlSerial=newXMLSerializer(); JSONArrayjsonObject=JSONArray.fromObject(obj.toString()); Stringxml=xmlSerial.writ 查看详情

php接口数据的封装xml和json(转)

原博主的代码有误无法使用,本人调试修改后可以使用。<?php//定义生成接口数据类classApi{/**生成json数据格式*@paraminteger$code状态码*@paramstring$message提示信息*$paramarray$data数据*returnstring*/publicstaticfunctionjson($code,$message=‘‘,$data=ar... 查看详情

jaxbutil转json转xml工具类(代码片段)

json转换为XML工具类1packagecom.cxf.value;23importorg.springframework.util.StringUtils;45importjavax.xml.bind.*;6importjava.io.ByteArrayOutputStream;7importjava.io.IOException;8importjava.io.StringReader;910 查看详情

http请求得到的数据(json或xml)进行类型转换(string转int)

//有一个参数的返回的是string类型的字符串,我想用int接收,提供给后面使用,需写好转换逻辑staticclassStringDeserializerextendsJsonDeserializer<Integer>{@OverridepublicIntegerdeserialize(JsonParserjp,DeserializationContextctxt)throwsIOE 查看详情

JSON到XML转换的Java实现[关闭]

...son)。它是一个jar文件。有适用于java6、8和11的版本。我是项目的维护者。【参考方案 查看详情

xml转array

1、字串$xml=simplexml_load_string($data);$array=json_decode(json_encode($xml),TRUE);2、文件$xml=simplexml_load_file($data);$array=json_decode(json_encode($xml),TRUE); 查看详情

jsonobject关于xml,json,bean之间的转换关系

1.json转换为JAVA@TestpublicvoidjsonToJAVA(){System.out.println("json字符串转java代码");StringjsonStr="{"password":"","username":"张三"}";//添加转义字符JSONObjectjsonObj=JSONObject.fromObject(jsonStr);Stringuse 查看详情

javaxml转json

<dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20170516</version></dependency>  System.out.println(org.json.XML.toJSONObje 查看详情