Java JSON解析

简介:  

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

对象格式

  一个对象,由一个大括号表示.

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

数组格式

  在JSON格式中可以与对象相互嵌套

  [元素1,元素2...]

  例子:

{
  “name”:"金苹果",
  "info":"种苹果",
  "chapter":["chapter1","chapter2","chapter3"],
  "author":{
    "name":"Tom Grey",
    "age":35
  }     
}

  

  这里推荐一个json解析工具,可以将json数据格式并视图化:

  https://www.sojson.com/json/json_online.html

Java与JSON

做什么?
  将Java中的对象快速的转换为JSON格式的字符串.
  将JSON格式的字符串,转换为Java的对象.

Gson(谷歌的JSON包)

  • 将对象转换为JSON字符串

转换JSON字符串的步骤:

  1. 引入JAR包
  2. 在需 要转换JSON字符串的位置编写如下代码即可:

  String json = new Gson().toJSON (要转换的对象) ;
例子:

Book b = BookDao.findO) ;
String json = new Gson().toJson(b);
System.out.println(json);

  

  • 将JSON字符串转换为对象
  1. 引入JAR包
  2. 在需 要转换Java对象的位置,编写如下代码:

    对象= new Gson(). fromJson(JSON字符串,对象类型. class);
例子:

String json = "{"id":1,"name":" 金苹果"," author":"TOM" ,"info":"种植金苹果的故事","price" :198.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 (要转换的对象);

1 Book b = BookDao.find() ;
2 String json=JSON.toJSONString(b);
3 System.out.println(json);
  • 将JSON字符串转换为对象
  1. 引入JAR包
  2. 在需要转换Java对象的位 置,编写如下代码:

类型对象名=JSON.parse0bject (JSON字符串,类型.class);

List. <类型> list=JSON. parseArray(JSON字符串,类型.class);
案例:

String json = "{"id":1,"name":" 金苹果"," author":"TOM","info": "种苹果" ,"price":198.0}";
Book book = JSON. parseObject(json,Book.class);
System.out. println(book);

  

原文地址:https://www.cnblogs.com/misaki-workshop/p/13510958.html