JSON 解析

导读:本篇文章讲解 JSON 解析,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

简介

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

优点:

  • 程序员解析起来比XML简单
  • 机器解析起来比XML快
  • 传输时体积小,传输速度快

JSON对象格式

    { 
        "name":"金苹果", 
        "info":"种苹果" 
    }

        一个对象,由一个大括号表示。
        括号中描述对象的属性。通过键值对来描述对象的属性(可以理解为,大括号中,包含的是一个个的键值对) 
        格式:
            键与值之间使用冒号连接,多个键值对之间使用逗号分隔。
            键值对的键应使用引号引住(通常Java解析时,键不使用引号会报错。而JS能正确解析)
            键值对的值,可以是JS中的任意类型的数据

数组格式

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

案例

{ 
    "name":"张三", 
    "age":18, 
    "friends":["李四","王二","麻子",{ 
        "name":"罗翔老师", 
        "info":"法外狂徒" 
    }], 
    "length":{ 
        "name":"大宝剑", 
        "length":"18cm" 
    } 
}

JSON在Java中的应用

  • 将Java中的对象 快速的转换为 JSON格式的字符串
  • 将JSON格式的字符串,转换为Java的对象

JSON 解析

GSON

谷歌下的JSON解析

将对象转换为JSON字符串

转换JSON字符串的步骤: 
	1. 引入JAR包 
    2. 在需要转换JSON字符串的位置编写如下代码即可: 
		String json = new Gson().toJSON(要转换的对象); 

案例:
	Book b = BookDao.find(); 
	String json = new Gson().toJson(b); 
	System.out.println(json);

将JSON字符串转换为对象

1. 引入JAR包 
2. 在需要转换Java对象的位置, 编写如下代码: 
	对象 = new Gson().fromJson(JSON字符串,对象类型.class); 

案例:
	String json = "{\"id\":1001,\"name\":\"张三罪恶的一生\",\"author\":\"罗祥老师\",\"info\":\"法外狂徒\",\"price\":998.0}"; 
	Book book = new Gson().fromJson(json, Book.class); 
	System.out.println(book);

FastJson

阿里下的JSON解析

将对象转换为JSON字符串

转换JSON字符串的步骤: 
	1. 引入JAR包 
    2. 在需要转换JSON字符串的位置编写如下代码即可: 
		String json=JSON.toJSONString(要转换的对象); 

案例:
	Book b = BookDao.find(); 
	String json=JSON.toJSONString(b); 
	System.out.println(json);

将JSON字符串转换为对象

1. 引入JAR包 
2. 在需要转换Java对象的位置, 编写如下代码: 
	类型 对象名=JSON.parseObject(JSON字符串, 类型.class); 
	或 
    List<类型> list=JSON.parseArray(JSON字符串,类型.class); 

案例:
	String json = "{\"id\":1001,\"name\":\"张三罪恶的一生\",\"author\":\"罗祥老师\",\"info\":\"法外狂徒\",\"price\":998.0}"; 
	Book book = JSON.parseObject(json, Book.class); 
	System.out.println(book);

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13446.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!