Day10JavaWeb【json字符串】***

json字符串介绍

  • (1)什么是json字符串
    JSON( JavaScript Object Notation, JS 对象标记) 是一种轻量级的数据交换格式。
  • (2)有什么特点?
    》1 完全独立于编程语言的文本格式来存储和表示数据。
    》2 简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。
    》3 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
    在这里插入图片描述

json格式语法

在这里插入图片描述

  • (1)json如何编写
    在javascript中可以直接识别json的语法
  • (2)Java对象与json对应关系
User  ---->json
List  ---->json
Map<String,List<User>>   ---->json
 var data = {"user",[{},{},{}]}

web\4-json.html

web\1-json.html


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript">
        //-------------1:对象类型-----------
        //键必须是字符串。值可以是任何类型
        /*
        var jsonStr ={"username":"baoqiang","password":"123"};   //Java Bean
        alert(jsonStr.username);

        var jsonStr2 = {"user":{"username":"baoqiang2","password":"123"}};
        alert(jsonStr2.user.password);

        var jsonStr3= {"user1":{"username":"baoqiang2","password":"123"},
                        "user2":{"username":"bingbing","password":"456"}};
        alert(jsonStr3.user.password);
        alert(jsonStr3.user2.username);
        */
        //-------------2:数组类型-----------  Java中集合
        var jsonArray1 = [{"username":"baoqiang1","password":"123"},
                           {"username":"baoqiang2","password":"123"},
                           {"username":"baoqiang3","password":"123"}];
        alert(jsonArray1[1].username);


        var jsonArray2 = {  //Map<String,List<String>>
            "baobao":[
                {"name":"小双","age":18,"addr":"扬州"},
                {"name":"建宁","age":18,"addr":"北京海淀"},
                {"name":"龙儿","age":38,"addr":"岛国"},
                {"name":"阿珂","age":17,"addr":"台湾"}
            ]
        }
        alert(jsonArray2.baobao[2].addr);

        var jsonArray3 = {
            "baobao":[
                {"name":"小双","age":18,"addr":"扬州"},
                {"name":"建宁","age":18,"addr":"北京海淀"},
                {"name":"龙儿","age":38,"addr":"岛国"},
                {"name":"阿珂","age":17,"addr":"台湾"}
            ],
            "haohao":[
                {"name":"楠楠","age":23,"addr":"北京"},
                {"name":"倩倩","age":18,"addr":"上海"}
            ]
        }
        alert(jsonArray3.haohao[0].addr);

    </script>
</head>
<body>

</body>
</html>

json转换工具***

  • (1)什么是json的转换工具
    json的转换工具是通过java封装好的一些jar工具包,直接将java对象或集合转换成json格式的字符串。
  • (2)常见的转换工具
    在这里插入图片描述
  • (3)使用步骤
    》1添加jar
    》2调用

src\com\wzx\pack01_jackson\DemoJackson.java

public class DemoJackson {
    public static void main(String[] args) throws JsonProcessingException {
        User user = new User(123,"baoqiang","123456");
        //1:将java bean对象转为json
          //1.1 创建一个ObjectMapper对象
        ObjectMapper mapper = new ObjectMapper();
        //1.2 调用方法writeValueAsString方法
        String jsonStr1 = mapper.writeValueAsString(user);
        System.out.println(jsonStr1);


        //2:将List集合对象转为json
        ArrayList<User> list = new ArrayList<User>();
        list.add(new User(123,"baoqiang1","123456"));
        list.add(new User(123,"baoqiang2","123456"));
        list.add(new User(123,"baoqiang3","123456"));

        String jsonStr2 = mapper.writeValueAsString(list);
        System.out.println(jsonStr2);

        //3:将Map集合对象转为json
        Map<String,User> map = new HashMap<String,User>();
        map.put("user1", new User(123,"baoqiang1","123456"));
        map.put("user2", new User(123,"baoqiang2","123456"));
        map.put("user3", new User(123,"baoqiang3","123456"));

        String jsonStr3 = mapper.writeValueAsString(map);
        System.out.println(jsonStr3);
        
        //4:简化版
        new ObjectMapper().writeValueAsString(user);
    }
}

src\com\wzx\pack03_jackson\User.java

public class User {
    private int id;
    private String name;
    private String password;
    //省略get/set
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

翁老师的教学团队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值