1. 程式人生 > 其它 >Json初步瞭解

Json初步瞭解

技術標籤:筆記javajson

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的瞭解,希望大家可以指導我,謝謝!