JSON解析

Json解析

  JSON: JavaScript Object Notation JS对象简称 , 是一种轻量级的数据交换格式.
  JSON就是一串字符串 只不过元素会使用特定的符号标注
{ } 即代表一个对象
[] 即代表一个数组

对象内存储的对象属性,是通过键值对来表示的

Json语法格式

括号中 描述对象的属性 . 通过键值对来描述对象的属性

{
	"属性1":"值1",
	"属性2":"值2"
	......
}

也可以含有数组,还可以含有对象,Json可以对象嵌套对象

{
	"属性1":"值1",
	"属性2":"值2"
	"属性3":["元素1","元素2",{
		//新对象
		”属性1" :"值1",
		"属性2" :"值2"
	}]	
}

注意

格式:

  • 键与值之间使用冒号连接, 多个键值对之间使用逗号分隔.
  • 键值对的键 应使用引号引住
  • 键值对的值, 可以是JS中的任意类型的数据

Json解析

Json解析是:
  将Java中的对象 快速的转换为 JSON格式的字符串.
  将JSON格式的字符串, 转换为Java的对象.

Json解析之Gson

一、将对象转换为JSON字符串

转换JSON字符串的步骤:

  1. 引入JAR包
  2. 在需要转换JSON字符串的位置编写如下代码即可:
    String json = new Gson().toJSON(要转换的对象);
public static void main(String[] args) {
    //先创建Gson 对象
    Gson g = new Gson();
    //2.    转换
    Book book = new Book("100","金苹果","种植苹果的小姑凉");
    String s = g.toJson(book);
    System.out.println(s);
}

二、将JSON字符串转换为对象
转换为对象的步骤:

  1. 引入JAR包
  2. 在需要转换Java对象的位置, 编写如下代码:
    对象 = new Gson().fromJson(JSON字符串,对象类型.class);
public static void main(String[] args) {
    //先创建Gson 对象
    Gson g = new Gson();
    //2.    转换 {"id":"100","name":"金苹果","info":"种植苹果的小姑凉"}
    Book b = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果的小姑凉\"}",Book.class);
    System.out.println(b.getId());
    System.out.println(b.getName());
    System.out.println(b.getInfo());
}

三、数组转换为对象

public static void main(String[] args) {
    //创建 Gson对象
    Gson g = new Gson();
    //转换    
   HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果的小姑凉\",\"page\":[\"金屋\",\"银屋\",\"茅草屋\"]}",HashMap.class);
   List page = (List) data.get("page");
   System.out.println(page.get(2));

}

Json解析之FastJson

一、将对象转换为JSON字符串

转换JSON字符串的步骤:

  1. 引入JAR包
  2. 在需要转换JSON字符串的位置编写如下代码即可:
    String json=JSON.toJSONString(要转换的对象);
public static void main(String[] args) {
    Book book = new Book("1002","唐诗三百首","床前明月光,床后一水缸,缸里豆腐渣,砸死司马光");
    //转换
    String json = JSON.toJSONString(book);
    System.out.println(json);
}

二、将JSON字符串转换为对象
Json转换对象的步骤:

  1. 引入JAR包
  2. 在需要转换Java对象的位置, 编写如下代码:
    类型 对象名=JSON.parseObject(JSON字符串, 类型.class);
public static void main(String[] args) {
    //转换  }
    //转对象
    Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光,床后一水缸,缸里豆腐渣,砸死司马光\",\"name\":\"唐诗三百首\"}\n",Book.class);
    System.out.println(book.getId());

}

三、数组转对象
Json 转换数组为对象的步骤:

  1. 引入JAR包
  2. 在需要转换Java对象的位置, 编写如下代码:
    List<类型> list=JSON.parseArray(JSON字符串,类型.class);
public static void main(String[] args) {
    //转换数组  ["一二撒","四五六","七八九"]
    List<String> strings = JSON.parseArray("[\"一二撒\",\"四五六\",\"七八九\"]",String.class);
    System.out.println(strings.get(1));
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值