xml转json

需求

  1. 第三方传回的报文格式是xml,需要转成json进行传输

方案

  1. 在尝试过xstream,org.json等包后,最后选择了json-lib
  2. json-lib的转换会默认把头结点去掉,对我目前的项目来讲反而有利,配合fastjson转对象也很方便

步骤

  1. 引入pom
<dependency>
    <groupId>net.sf.json-lib</groupId>
    <artifactId>json-lib</artifactId>
    <version>2.2.2</version>
    <classifier>jdk15</classifier>
</dependency>
<dependency>
    <groupId>xom</groupId>
    <artifactId>xom</artifactId>
    <version>1.2.5</version>
</dependency>
  1. 封装方法
 public static String toJSONString(String xml){
    XMLSerializer xmlSerializer = new XMLSerializer();
    String resutStr = xmlSerializer.read(xml).toString(0);//0表示去除换行空格等,1以上表示json格式化后的数据
    return resutStr;
}
  1. 结果
<ap>
<plain>
<mchnt_cd>0006410F0026868</mchnt_cd>
<mchnt_txn_ssn>900123456789</mchnt_txn_ssn>
<resp_code>0000</resp_code>
<resp_desc>成功</resp_desc>
<login_id>15869696969</login_id>
</plain>
<signature>auK8wfMTw</signature>
</ap>
11:03:43.935 [main] INFO net.sf.json.xml.XMLSerializer - Using default type string
{
 "plain":  {
  "mchnt_cd": "0006410F0026868",
  "mchnt_txn_ssn": "900123456789",
  "resp_code": "0000",
  "resp_desc": "成功",
  "login_id": "15869696969"
 },
 "signature": "auK8wfMTw"
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java系列文章

如何设计好的RESTful API

现阶段的开发模式多以前后端分离形式存在,前后端开发人员需要通过大量 API 来进行数据交互,如果在交互过程中前后端人员经常遭遇如下问题:

8220
来自专栏大道七哥

java实现网页结构分析列表发现

现在的网站千奇百怪,什么样格式的都有,需要提取网页中的列表数据,有时候挨个分析处理很头疼,本文是一个页面结构分析的程序,可以分析处理页面大致列表结构。

9520
来自专栏Web前端开发

跨域的简介与解决方案

跨域是指一个域下的文档或脚本试图去请求另一个域下的资源(只要域名、协议和端口有任一个不同,就被当作是跨域)

16910
来自专栏Java那些事

从零开始学JSON(修订版)

JSON:JavaScript Object Notation 【JavaScript 对象表示法】

6610
来自专栏Web前端开发

JSON 的简介与使用

JSON(javascript object notation)全称是 javascript 对象表示法,是一种数据交换的文本格式,用于读取结构化数据,提出目的...

6310
来自专栏汇智网教程

Monero区块链对接PHP开发包

MoneroTool是用于对接Monero区块链的PHP开发包,可以快速为PHP应用添加门罗币/XMR的支持能力。官方下载地址:http://sc.hubwiz...

16220
来自专栏好好学java的技术栈

从零开始搭建一个语音对话机器人

最近在研究语音识别方向,看了很多的语音识别的资料和文章,了解了一下语音识别的前世今生,其中包含了很多算法的演变,目前来说最流行的语音识别算法主要是依赖于深度学...

56720
来自专栏AI科技大本营的专栏

重磅!全球首个可视化联邦学习产品与联邦pipeline生产服务上线

【导读】作为全球首个联邦学习工业级技术框架,FATE支持联邦学习架构体系与各种机器学习算法的安全计算,实现了基于同态加密和多方计算(MPC)的安全计算协议,能够...

18630
来自专栏州的先生

破解点评网字体反爬,深入挖掘系统背后的原理

从这里可以看到,网页上显示的文字和源码中显示的文字有些出入,并不是一一对应,那继续查看sources中的代码。

12220
来自专栏joealzhou

RN集成到现有原生应用-swift

创建一个空文件夹命名为你RN项目名称,在里面再新建一个文件夹/ios,把你现有的swift项目全部拷贝到/ios文件夹内。

10520

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励