什么是Json,Java中Json与对象,数组,list,map,之间的转换

什么是Json

  • JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它是js规范的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

  • JSON 语法规则

    • 对象表示为键值对
    • 数据由逗号分隔
    • 花括号保存对象
    • 方括号保存数组
  • 与xml文件比较

    • 可读性,JSON是简易的语法,XML是规范的标签形式,很难分出胜负。
    • 可扩展性 都有很好的扩展性,不过JSON在Javascript常用,可以存储Javascript复合对象。
    • 编码难度 XML有丰富的编码工具,比如Dom4j、Dom、SAX等,JSON也有提供的工具。无工具的情况下,相信熟练的开发人员一样能很快的写出想要的xml文档和JSON字符串,不过,xml文档要多很多结构上的字符。
  • Json和我们的AJAX是非常好的搭档

Java中Json与对象,数组,list,map,之间的转换

  • maven依赖
      <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
      <dependency>
          <groupId>com.alibaba</groupId>
          <artifactId>fastjson</artifactId>
          <version>1.2.58</version>
      </dependency>
      <dependency>
          <groupId>net.sf.json-lib</groupId>
          <artifactId>json-lib</artifactId>
          <version>2.4</version>
         <classifier>jdk15</classifier>  <!-- 注意这个要-->
      </dependency>
  • Java对象和Json之间的转换
		 //将java对象转换成json
        JSONObject jsonObject1 = JSONObject.fromObject(user);
        System.out.println("--------对象使用JSONObject.fromObject转换json--------");
        System.out.println(jsonObject1);
        //把json转换成java对象
        Object user1 =  JSONObject.toBean(jsonObject1);
        System.out.println("--------json使用JSONObject.toBean转换java对象--------");
        System.out.println(user1);
  • 数组和Json之间的转换
		 //将数组转换成json
        int array[]= {123,456,345,456};
        JSONArray jsonArray = JSONArray.fromObject(array);
        System.out.println("--------数组使用JSONArray.fromObject转换json--------");
        System.out.println(jsonArray);
        //把json转换成数组
        Object array1 = JSONArray.toArray(jsonArray);
        System.out.println("--------json使用JSONArray.toArray转换数组--------");
        System.out.println(array1);

  • list和Json之间的转换
		//list转换成json
        List list=new ArrayList();
        list.add(1234);
        list.add(1234);
        list.add(34);
        list.add(14);
        JSONArray jsonArray1 = JSONArray.fromObject(list);
        System.out.println("--------list使用JSONArray.fromObject转换json--------");
        System.out.println(jsonArray1);
        //把json转换成list
        List list1 = JSONArray.toList(jsonArray1);
        System.out.println("--------json使用JSONArray.toList转换list--------");
        System.out.println(list1);
  • map和Json之间的转换,注:这里的JSON使用的是阿里的
		 //map转化成json
        Map<String,Object> map=new HashMap<String,Object>();
        map.put("userId", 1001);
        map.put("username", "Lucy");
        map.put("password", "123456");
        map.put("userAge", 18);
        JSONObject jsonObject2 = JSONObject.fromObject(map);
        System.out.println("--------map使用JSONArray.fromObject转换json--------");
        System.out.println(jsonObject2);
        //把json转换成map,这里的JSON使用的是阿里的
        Object parse = JSON.parse(jsonObject2.toString());
        System.out.println("--------json使用JSON.parse转换map--------");
        System.out.println(parse);
  • 以上就简单介绍了什么是json,以及Java中json和其他类型之间的转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值