• JSON概念、基础语法及数据和对象转换


    目录

    一、JSON概念

    二、JSON基础语法

    三、JSON数据和Java对象转换


    一、JSON概念

    概念:JavaScript Object Notation。JavaScript对象表示法

    由于其语法简单,层次结构鲜明,现多用于作为数据载体

    二、JSON基础语法

    定义:

    var 变量名 = {"key1";value1

                           "key2";value2

                           ......

                           };

    示例:

    var json = {"name";"zhangsan",

                         "age";23,

                          "addr";["北京","上海","西安"]

                           };

    获取数据:

    变量名.key

    json.name

    value的数据类型为:

    数字(整数或浮点数)

    字符串(在双引号中)

    逻辑值(true或false)

    数组(在方括号中)

    对象(在花括号中)

    null

    代码示例:

    1. <script>
    2. var json = {
    3. "name": "zhangsan",
    4. "age": 23,
    5. "addr": ["北京", "上海", "西安"]
    6. };
    7. //获取值
    8. alert(json.name);
    9. </script>

    浏览器弹出:

     三、JSON数据和Java对象转换

    请求数据:JSON字符串转为Java对象

    响应数据:Java对象转为JSON字符串

    Fastjson是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库,是目前Java语言中最快的JSON库,可以实现Java对象和JSON字符串的相互转换。

    使用:

    1、导入坐标

    1. <dependency>
    2. <groupId>com.alibaba</groupId>
    3. <artifactId>fastjson</artifactId>
    4. <version>1.2.62</version>
    5. </dependency>

    2、Java对象转JSON

    String jsonStr = JSON.toJSONString(obj);

    3、JSON字符串转为Java对象

    User user = JSON.parseObject(jsonStr,User.class);

    代码示例:

    User代码:

    1. public class User {
    2. private Integer id;
    3. private String username;
    4. private String password;
    5. public Integer getId() {
    6. return id;
    7. }
    8. public void setId(Integer id) {
    9. this.id = id;
    10. }
    11. public String getUsername() {
    12. return username;
    13. }
    14. public void setUsername(String username) {
    15. this.username = username;
    16. }
    17. public String getPassword() {
    18. return password;
    19. }
    20. public void setPassword(String password) {
    21. this.password = password;
    22. }
    23. @Override
    24. public String toString() {
    25. return "User{" +
    26. "id=" + id +
    27. ", username='" + username + '\'' +
    28. ", password='" + password + '\'' +
    29. '}';
    30. }
    31. }

     FastJsonDemo代码:

    1. import com.alibaba.fastjson.JSON;
    2. public class FastJsonDemo {
    3. public static void main(String[] args) {
    4. //1.将java对象转为JSON字符串
    5. User user = new User();
    6. user.setId(1);
    7. user.setUsername("zhangsan");
    8. user.setPassword("123");
    9. String jsonString = JSON.toJSONString(user);
    10. System.out.println(jsonString);
    11. //2.将JSON字符串转为java对象
    12. User u = JSON.parseObject("{\"id\":1,\"password\":\"123\",\"username\":\"zhangsan\"}", User.class);
    13. System.out.println(u);
    14. }
    15. }

    控制台执行结果:

  • 相关阅读:
    uniapp——实现在线选座功能——技能提升
    axios取消请求原理、拦截器原理- http状态码 - http请求方式
    pnpm凭什么这么快
    【echart】饼图 legend tooltip格式化比例为0不显示
    马士兵-郑金维—并发编程—1.线程基础概念
    Spring框架系列(10) - Spring AOP实现原理详解之AOP代理的创建
    httpclient连接泄漏实战-_-
    二叉树的重建问题
    windows应用程序告警:帐户名与安全标识间无任何映射完成
    分享实时股票python接口的部分功能运行过程
  • 原文地址:https://blog.csdn.net/m0_61961937/article/details/125036385