java xml数据解析_JAVA解析JSON/XML数据

一、Json数据解析;二、XML数据解析

一、1、Json一共有两种数据结构,对象和数组

1)一种是以(key/value)对形式存在的无序的jsonObject对象,在花括号{}里面,例如:{"msg":

"success","errorCode":

0,"sessionId":

"688102860d1aa60-b772-46d4-b510-506221738d33"

}

key值必须是String类型,value值可以是String、number、object、array等数据类型。

2)另一种是有序的value的集合,即jsonArray,数组是value的有序集合,数组[],例如:"productCodes":

["WXZX","TCTHCS","TCTH","WXZXCP","TCGJJP"]

2、json对象在花括号中{},包含多个名称/值对;json数组​在方括号中[],数组可以包含多个json对象,例如:

"reqPassenger":

[  {

"passengerCnt": 1,"passengerType": "ADT" },{ "passengerCnt":

1,"passengerType": "CHD" }  ]

3、Java实现解析JSON字符串,jar包:​com.alibaba.fastjson

a4c26d1e5885305701be709a3d33442f.png复杂JSON字符串

a4c26d1e5885305701be709a3d33442f.pngJava解析复杂JSON字符串

二、1、XML数据:可扩展标记语言(Extensible Markup

Language),XML是W3C的推荐标准,被设计为传输和存储数据,HTML旨在显示信息,而XML旨在传输信息。

XML数据用途:简化数据共享、简化数据传输、简化平台的变更、XML独立与硬件软件和应用程序,使得数据更可用。

2、XML中的属性、元素、文本

a4c26d1e5885305701be709a3d33442f.pngXML文档

从上图1)XML文档表示:Document

document =

reader.read(newFile(filePath));

2)

OriginDestinationOptions是父元素,Element

root =

document.getRootElement();

3)OriginDestinationOption一级元素,Element

origine =

root.element("OriginDestinationOption");

4)

ElapsedTime是一级节点的属性名,Stringelapse

=

origine.attributeValue("ElapsedTime");

5)

只有MarriageGrp有文本值,String marr =

node.getText();

此处用dom4J进行解析

a4c26d1e5885305701be709a3d33442f.png打印某一级元素的所有属性名和属性值

3、java解析XML结构数据

1)  XML DOM(xml Document Object

Model)文档对象模型,定义了访问和操作XML文档的标准方法。

2)XML的解析方式分为四种:DOM解析;SAX解析;JDOM解析;DOM4J解析

Dom解析是将xml文件全部载入到内存,组装成一颗dom树,然后通过节点以及节点之间的关系来解析xml文件,与平台无关,java提供的一种基础的解析XML文件的API,理解较简单,但是由于整个文档都需要载入内存,不适用于文档较大时。SAX解析基于事件驱动,逐条解析,适用于只处理xml数据,不易编码,而且很难同时访问同一个文档中的多处不同数据。JDOM解析简化与XML的交互并且比使用DOM实现更快,仅使用具体类而不使用接口因此简化了API,并且易于使用。DOM4J解析:JDOM的一种智能分支,功能较强大,建议熟练使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java中可以使用一些库和技术将XML解析JSON格式。以下是一种常用的解析方法: 1. 首先,导入相关的库。一个常用的库是Jackson,它提供了将XML转换为JSON的功能。在Java中可以通过Maven或Gradle将Jackson库添加到项目中。 2. 创建XML解析器。使用Jackson库,可以使用XmlMapper类来解析XML文件。可以通过实例化该类来创建一个XML解析对象。 3. 读取XML文件。可以使用XmlMapper类的readValue()方法从文件中读取XML数据。该方法需要传入一个File对象作为参数,该对象指定了要读取的XML文件的路径。 4. 将XML解析JSON。使用XmlMapper类的writeValueAsString()方法将解析后的XML数据转换为JSON字符串。该方法需要传入解析后的XML数据作为参数。 5. 处理JSON数据。可以使用Java中的JSONObject或JSONArray对象来处理JSON数据。可以使用这些对象来获取和操作JSON中的数据。 以下是一个示例代码片段,演示如何将XML解析JSON: ```java import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.dataformat.xml.XmlMapper; import java.io.File; public class XmlToJsonParser { public static void main(String[] args) { try { // 创建XML解析XmlMapper xmlMapper = new XmlMapper(); // 读取XML文件 File xmlFile = new File("path/to/xml/file.xml"); YourXmlClass xmlData = xmlMapper.readValue(xmlFile, YourXmlClass.class); // 将XML解析JSON ObjectMapper objectMapper = new ObjectMapper(); String jsonData = objectMapper.writeValueAsString(xmlData); // 处理JSON数据 // ... System.out.println(jsonData); } catch (Exception e) { e.printStackTrace(); } } } ``` 需要注意的是,XMLJSON是不同的数据表示方式,XML可能具有多层嵌套结构,而JSON是以键值对的形式表示。解析XMLJSON时,可能需要处理XML的嵌套结构和层次关系,以正确转换为相应的JSON格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值