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

复杂JSON字符串
Java解析复杂JSON字符串

二、1、XML数据:可扩展标记语言(Extensible Markup Language),XML是W3C的推荐标准,被设计为传输和存储数据,HTML旨在显示信息,而XML旨在传输信息。         XML数据用途:简化数据共享、简化数据传输、简化平台的变更、XML独立与硬件软件和应用程序,使得数据更可用。

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

XML文档

从上图 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进行解析                                      

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

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的一种智能分支,功能较强大,建议熟练使用。





你可能感兴趣的:(JAVA解析JSON/XML数据)