4-7 XML与JSON

XML与JSON

简介

可扩展标记语言(eXtensible Markup Language)。

特性
  1. xml具有平台无关性, 是一门独立的标记语言.(在window和mac不同系统下内容都相同)
  2. xml具有自我描述性
为什么学习XML?
  1. 网络数据传输 (被JSON取代,但是在阅读方面JSON格式没有XML清晰(特别是小数据))
  2. 数据存储 (不常使用)
  3. 配置文件 (经常使用)
XML文件

.XML文件是保存XML数据的一种方式
XML数据也可以以其他的方式存在(如在内存中构建XML数据)。 不要将XML语言狭隘的理解成XML文件。

XML语法格式(重点

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

语法进阶CDATA (了解)

CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 “<![CDATA[" 开始,由 "]]>” 结束。

Java解析XML 掌握(了解
面试题

Java中有几种XML解析方式 ? 分别是什么 ? 有什么样的优缺点 ?
答:四种;SAX解析、DOM解析、JDOM解析、DOM4J解析

JDOM解析是基于DOMJ的Java相关的解析
DOM4J解析是DOM解析的智能分支

在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

DOM4J解析XML 掌握(重点
步骤

在这里插入图片描述

文档对象 Document

在这里插入图片描述

元素对象 Element

在这里插入图片描述在这里插入图片描述

解析本地文件案例:

在这里插入图片描述

解析网络文件案例:

在这里插入图片描述在这里插入图片描述

DOM4J - XPATH解析XML

在这里插入图片描述

使用步骤

在这里插入图片描述

案例:在这里插入图片描述
Java生成XML 熟悉
步骤:

在这里插入图片描述

案例

在这里插入图片描述在这里插入图片描述

XStream 的使用 了解
快速的将Java中的对象, 转换为 XML字符串.
使用步骤:

在这里插入图片描述

案例

在这里插入图片描述

JSON
简介

JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式

对象格式

在这里插入图片描述在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数组格式

在JSON格式中可以与对象互相嵌套 [元素1,元素2…]

Java与JSON
  • 将 Java对象 快速转换为 JSON格式的字符串
  • 将 JSON格式的字符串 快速转换为 Java对象
Gson
  • 将对象转化为JSON字符串

在这里插入图片描述

        Book b = new Book("100","金苹果","种植苹果");
        //  将对象转化成为Json字符串
        String text = new Gson().toJson(b);
        System.out.println(text);   //  {"id":"100","name":"金苹果","info":"种植苹果"}
  • 将JSON字符串转化为对象
    在这里插入图片描述
 		String text = "{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果\"}";
        Book b = new Gson().fromJson(text, Book.class);
        System.out.println(b.getId());

如果Gson的字符串中存在数组,那么Gson会将数组转化为ArrayList

FastJson
  • 将 对象 转化为 JSON字符串
    在这里插入图片描述
Book b = new Book("100","金苹果","苹果种植的艰辛历程");
String s = JSON.toJSONString(b);
System.out.println(s);  //  {"id":"100","info":"苹果种植的艰辛历程","name":"金苹果"}
  • 将 JSON字符串 转化为 对象(集合)
    在这里插入图片描述
String text = "{\"id\":\"100\",\"info\":\"苹果种植的艰辛历程\",\"name\":\"金苹果\"}";
Book b = JSON.parseObject(text, Book.class);
System.out.println(b.getId());
List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class);
System.out.println(strings.get(1));
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以使用任何一种XMLJSON转换工具来将Spring Cloud Gateway的连接类型XML转换为JSON格式。以下是一个使用Java的例子: ```java import org.json.JSONObject; import org.w3c.dom.Document; import org.xml.sax.InputSource; import javax.xml.parsers.DocumentBuilderFactory; import java.io.StringReader; public class XmlToJsonConverter { public static void main(String[] args) throws Exception { String xml = "<Connection>\n" + " <HttpClient/>\n" + " <Proxy/>\n" + "</Connection>"; DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); Document doc = factory.newDocumentBuilder().parse(new InputSource(new StringReader(xml))); JSONObject json = new JSONObject(); json.put(doc.getDocumentElement().getNodeName(), traverse(doc.getDocumentElement())); System.out.println(json.toString()); } private static JSONObject traverse(org.w3c.dom.Element element) { JSONObject obj = new JSONObject(); org.w3c.dom.NodeList nodeList = element.getChildNodes(); if (nodeList.getLength() > 0) { for (int i = 0; i < nodeList.getLength(); i++) { org.w3c.dom.Node node = nodeList.item(i); if (node instanceof org.w3c.dom.Element) { org.w3c.dom.Element child = (org.w3c.dom.Element) node; if (child.getChildNodes().getLength() == 1) { obj.put(child.getNodeName(), child.getTextContent()); } else { obj.put(child.getNodeName(), traverse(child)); } } } } return obj; } } ``` 这个代码将会把你提供的XML转换成以下的JSON格式: ```json { "Connection": { "HttpClient": {}, "Proxy": {} } } ```

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值