XML和JSON常用方式

导读:
XML和JSON可以理解为软件与软件交流时所使用的语言(例如java语言和c语言就可首选用XML和JSON的格式进行交流)
首先要明确:XML和JSON通常指的是字符串,而不是文件
XML比JSON解析更加清晰,配置较小文件(配置文件)中使用。JSON比XML解析速度快,使用较多。
**

XML

**
关注XML简介和语法,解析等了解即可(这里未详细编辑)
使用场景:配置文件(需要去写,不需要解析,因为后续写的都是是框架配置文件)

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

共有两大类共计四种解析方式:其中最常用的是DOM4J解析XML,XML解析用的较少,这里不详细介绍了,了解即可
**

JSON

**
使用频率较高 (使用场景:网络数据传输)
json格式文件内容较多时,可使用json在线工具(网页搜索即可)转换成视图,便于查看
两种解析方式:FastJson和Gson(团队未选择两种类型时,推荐使用FastJson)
实际应用场景示例:把复杂对象通过简单的方式去解析,例如给用户发短信,可能会使用阿里云或者腾讯等的短信,短信会发过来json格式的数据,告诉你短信成功与否的提示,这里我们就用到解析的能力了,最重要的是我们解析完回复用户。
具体流程:用户在网页点击要发短信,前端(h5)的程序员因为用户的点击执行相应的事件,最终连接上服务器,告知java程序员说要给用户发短信,然后我们在通过JSON回复给前端程序员,告知短信成功与否

//创建一个类,包含三个属性,并重写其set,get等方法(省略)
public class Book {
    private String id;
    private String name;
    private String info;

Gson解析示例:

在这里插入图片描述

将对象转成JSON字符串:Gson对象.toJson(需要转换的对象);
```java
public static void main(String[] args) {//前提;存在一个Book类,如上图
    第一种方式
    Gson g = new Gson();//1.创建Gson对象
    Book b = new Book("100","金苹果","种植苹果真辛苦");
    String s = g.toJson(b);//2.将对象转换为字符串
    System.out.println(s);
    //第二种方式:匿名对象的方式更加简介,但仅限于使用一次
    Book b = new Book("100","金苹果","种植苹果真辛苦");
    String s = new Gson().toJson(b);//创建Gson对象并转换为字符串
    System.out.println(s);

在这里插入图片描述



```java
public static void main(String[] args) {//前提;存在一个Book类,如上图
    Gson g = new Gson();//1.创建Gson对象
    //2.将JSON字符串转为对象:{"id":"100","name":"金苹果","info":"种植苹果真辛苦"}
    //g.fromJson(一参, 二参);一参传的是字符串(记得用反斜杠转义),二参传的是需要转换的类型
    Book b = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真辛苦\"}", Book.class);
    System.out.println(b.getId());//获取id
    //打印结果:100
将字符串转换成集合

```java
public static void main(String[] args) {//前提:没有Book类
    Gson g = new Gson();//1.创建Gson对象
    //2. 将JSON字符串转换成集合:{"id":"100","name":"金苹果","info":"种植苹果真辛苦"}
    //g.fromJson()二参传入的集合类型为HashMap
    HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真辛苦\"}, HashMap.class);
    System.out.println(data.get("id"));//打印id对应的键值对
    //打印结果:100

```java
注意:如果在对象里面包含数组部分,在转的时候会把数组部分转成List集合(如下)

```java
public static void main(String[] args) {//前提:没有Book类
    Gson g = new Gson();//1.创建Gson对象
    //2. 将JSON字符串转换成集合:{"id":"100","name":"金苹果","info":"种植苹果真辛苦","page":["锄禾日当午","汗滴禾下土","嘿嘿嘿嘿嘿"]}
    //g.fromJson(),一参page属性对应的值数组,二参传入的集合类型为HashMap
    HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真辛苦\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]}", HashMap.class);
    List page = (List) data.get("page");//获取page,并强转成List
    System.out.println(page.get(1));//打印page的1下标
    //打印结果:汗滴禾下土

FastJson解析示例:
在这里插入图片描述


```java
将对象转成JSON字符串:JSON.toJSONString(需要转换的对象);
public static void main(String[] args) {//前提:存在一个Book类,如上图
    Book book = new Book("1002","唐诗三百首","床前明月光,疑是地上霜。");
    String json = JSON.toJSONString(book);//将对象转换为字符串
    System.out.println(json);//打印
    //打印结果:{"id":"1002","name":"唐诗三百首","info":"床前明月光,疑是地上霜。"}

在这里插入图片描述

在这里插入图片描述

将JSON字符串转成对象:JSON.parseObject(需要转换的json字符串);

```java
public static void main(String[] args) {
    //将字符串转换成对象
    Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光,疑是地上霜。\",\"name\":\"唐诗三百首\"}", Book.class);
    System.out.println(book.getId());//打印book对象的id
    //打印结果:1002

```java
public static void main(String[] args) {
    //将JSON格式数组转换成集合对象: ["一二三","二三四","三四五"]
    List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]", String.class);
    System.out.println(strings.get(1));//打印1下标
   //打印结果:二三四
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值