真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯網站制作重慶分公司

JSON【學習筆記】-創(chuàng)新互聯

文章目錄
  • JSON
    • 1、JSON簡述
    • 2、XML與JSON
    • 3、JSON語法格式
    • 4、JSON數據的轉換
    • 5、FastJson介紹
    • 6、Java轉JSON
    • 7、JSON轉Java
    • 8、JSONField注解

創(chuàng)新互聯建站-云計算及IDC服務提供商,涵蓋公有云、IDC機房租用、成都多線服務器托管、等保安全、私有云建設等企業(yè)級互聯網基礎服務,服務電話:028-86922220JSON 1、JSON簡述

JSON是一種獨立于語言和平臺、輕量級的數據交換格式全稱JavaScript對象表示法(JavaScript Object Notation)。起初來源于JavaScript這門語言,后來隨著使用的廣泛,幾乎每門開發(fā)語言都有處理JSON的API。

  • JSON的特點:
    • JSON 是一種輕量級的數據交換格式。
    • JSON采用完全獨立于語言的文本格式,就是說不同的編程語言JSON數據是一致的。
    • JSON易于人閱讀和編寫,同時也易于機器解析和生成(一般用于提升網絡傳輸速率)。
2、XML與JSON
  • 相同點:
    • 都可以作為一種數據交換格式
  • 不同點
    • XML是重量級的,JSON是輕量級的,JSON占寬帶少,易于壓縮
    • XML和JSON都用在項目交互下,XML多用于做配置文件,JSON用于數據交互
    • JSON獨立于編程語言獨立存在,任何編程語言都可以去解析JSON
3、JSON語法格式

普通:
在這里插入圖片描述
數組:
在這里插入圖片描述
集合:
在這里插入圖片描述
一般來說都不用手寫這樣的JSON格式,都是通過將對象啊、集合什么的自動轉換成JSON格式的,然后傳到前端再進行解析

4、JSON數據的轉換

目前,前后端的ajax通訊幾乎用的都是json格式的了,所以在開發(fā)的過程中,我們經常會涉及到JSON數據的轉換
在這里插入圖片描述

5、FastJson介紹
  • Fastjson 是一個 Java 庫,可以將 Java 對象轉換為 JSON 格式,當然它也可以將 JSON 字符串轉換為 Java 對象。
  • FastJson特點如下:
    • 能夠支持將java bean序列化成JSON字符串,也能夠將JSON字符串反序列化成Java bean。
    • 顧名思義,FastJson操作JSON的速度是非??斓?。
    • 無其他包的依賴, 使用比較方便。
6、Java轉JSON
  • 要使用這個必須先導入依賴
com.alibabafastjson1.2.3com.colobufastjson-jaxrs-json-provider0.3.1
  • 測試
// java對象轉化為JSON
    @Test
    public void javaBeanToJson(){// 1、創(chuàng)建Persion對象
        Person lzy = new Person("lzy", 25, DateUtils.getDateFormart());

        // 2、使用JSON對象 將persion對象轉換為JSON數據
        String s = JSON.toJSONString(lzy);
        System.out.println(s);
    }

    // Java中的集合轉JSON (List)
    @Test
    public void ListToJSON(){Person gzw = new Person("gzw", 25, DateUtils.getDateFormart());
        Person lzy = new Person("lzy", 25, DateUtils.getDateFormart());
        Person sjw = new Person("sjw", 25, DateUtils.getDateFormart());
        Listlists = new ArrayList<>();
        lists.add(gzw);
        lists.add(lzy);
        lists.add(sjw);
        String s = JSON.toJSONString(lists);
        System.out.println(s);
    }

    // Java中的集合轉JSON (Map)
    @Test
    public void MapToJSON(){Person gzw = new Person("gzw", 25, DateUtils.getDateFormart());
        Person lzy = new Person("lzy", 25, DateUtils.getDateFormart());
        Person sjw = new Person("sjw", 25, DateUtils.getDateFormart());
        Listlists = new ArrayList<>();
        lists.add(gzw);
        lists.add(lzy);
        lists.add(sjw);
        Mapmap = new HashMap<>();
        map.put("error_message", "success");
        map.put("lists", JSON.toJSONString(lists));
        String s1 = JSON.toJSONString(map);
        System.out.println(s1);
    }
7、JSON轉Java
// JSON轉對象
    @Test
    public void JSONToJavaBean(){String json = "{\"USERNAME\":\"lzy\",\"AGE\":25}";
        Person person = JSON.parseObject(json, Person.class);
        System.out.println(person);
    }

    @Test
    public void JSONToList(){String json = "[{\"USERNAME\":\"gzw\",\"AGE\":25,\"BIRTHDAY\":\"2023-01-14 15:47:15\"},{\"USERNAME\":\"lzy\",\"AGE\":25,\"BIRTHDAY\":\"2023-01-14 15:47:15\"},{\"USERNAME\":\"sjw\",\"AGE\":25,\"BIRTHDAY\":\"2023-01-14 15:47:15\"}]";
        Listlists = (List)JSON.parseArray(json, Person.class);
        for (Person list : lists) {System.out.println(list);
        }
    }
    @Test
    public void JSONToMap(){String json = "{\"error_message\":\"success\",\"lists\":\"[{\\\"USERNAME\\\":\\\"gzw\\\",\\\"AGE\\\":25,\\\"BIRTHDAY\\\":\\\"2023-01-14 15:55:10\\\"},{\\\"USERNAME\\\":\\\"lzy\\\",\\\"AGE\\\":25,\\\"BIRTHDAY\\\":\\\"2023-01-14 15:55:10\\\"},{\\\"USERNAME\\\":\\\"sjw\\\",\\\"AGE\\\":25,\\\"BIRTHDAY\\\":\\\"2023-01-14 15:55:10\\\"}]\"}";
        Mapmap = JSON.parseObject(json, Map.class);
        String s = map.get("lists");
        Listpeople = JSON.parseArray(s, Person.class);
        for (Person person : people) {System.out.println(person);
        }
    }
8、JSONField注解
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {// 可以通過name去指定輸出的名稱
    // ordinal可以指定輸出的順序
    // 使用serialize屬性,指定字段是否序列化
    @JSONField(name = "USERNAME", ordinal = 1)
    private String name;
    @JSONField(name = "AGE", ordinal = 2)
    private Integer age;
    @JSONField(serialize = false)
    private String birthday;
}

在這里插入圖片描述
總結

  • 這東西就是用來傳數據的
  • 主要掌握導入依賴,Java轉JSON,JSON轉Java
  • 常用API:
    • Java轉Json:JSON.toJSONString
    • Json轉Java:
      • JSON.parseObject(json, 對象.class) 轉為對象
      • JSON.parseArray(json, List中存儲的對象.class) 轉為List
      • JSON.parseObject(json, Map.class) 轉為Map

你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧


網站名稱:JSON【學習筆記】-創(chuàng)新互聯
鏈接URL:http://weahome.cn/article/gipoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部