Json初步了解

Json

目前市场上大多用json,它已经成为了人们的首要选择
json属于轻量数据格式
基本上所有的类型都可以通过json来表示

json对象格式

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

数组格式

数组的json表示形式

 @GetMapping("arrays")
    public int[] arraysToJson(){
     
        //定义数组
        int[] a={
     1,2,3,4,5,6,7,8,9};
        return a;
    }

在这里插入图片描述

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

{
      
"name":"唐齐老师", 
"age":20, 
"pengyou":["圆圆","豆豆","琪琪","花花",{
     
 "name":"莉莉老师", "info":"功能性人才" }],
  "heihei":{
      
  "name":"大长刀", 
  "length":"40m" 
  } 
}

Gson
1.将对象转换为JSON字符串
转换JSON字符串的步骤:

  1. 引入JAR包
  2. 在需要转换JSON字符串的位置编写如下代码即可:
    String json = new Gson().toJSON(要转换的对象);
    2.将JSON字符串转换为对象
    一. 引入JAR包
    二. 在需要转换Java对象的位置, 编写如下代码: 对象 = new Gson().fromJson(JSON字符串,对象类型.class);
    Gson的简单例子
import java.util.HashMap;
import java.util.List;

public class Demo3 {
     
    public static void main(String[] args) {
     
        //1.    创建Gson对象
        Gson g = new Gson();
        //2.    转换  :  {
     "id":"100","name":"金苹果","info":"种植苹果真辛苦","page":["锄禾日当午","汗滴禾下土","嘿嘿嘿嘿嘿"]}
        HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真辛苦\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]}", HashMap.class);
        List page = (List) data.get("page");
        System.out.println(page.get(1));
    }
}

在这里插入图片描述
FastJson
1.将对象转换为JSON字符串
转换JSON字符串的步骤:

  1. 引入JAR包

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

          FastJson的例子
    
import com.alibaba.fastjson.JSON;

public class Demo5 {
     
    public static void main(String[] args) {
     
        //1.    转换  : {
     "id":"1002","info":"床前明月光,疑是地上霜。举头望明月,低头思故乡。","name":"唐诗三百首"}
        Book book = JSON.parseObject("{\"id\":\"1002\",\"info\":\"床前明月光,疑是地上霜。举头望明月,低头思故乡。\",\"name\":\"唐诗三百首\"}", Book.class);
        System.out.println(book.getId());
    }
}

在这里插入图片描述
这是我目前对json的了解,希望大家可以指导我,谢谢!

你可能感兴趣的:(笔记,java,json)