JSON简介,介绍,理解,胎教级教程

本文介绍了JSON(JavaScript Object Notation)的基本概念、特性以及其在数据交换中的优势。详细讲解了JSON对象的格式,通过实例对比了与XML的区别。同时,提供了在线JSON查看工具的推荐。文章还深入探讨了在Java中如何使用Gson和FastJson进行JSON的解析,包括对象与JSON字符串的相互转换,并给出了具体代码示例。
摘要由CSDN通过智能技术生成

1.JSON简介:

json(JavaScript Object Notation)指的是js对象简谱,是一种轻量级的数据交换格式。所谓的数据交换格式指的就是我们客户端和服务器程序,这样之间在数据交换时再进交流时之间这样一种。是欧洲计算机协会制定的检测规范的一个子集。采用了完全独立于编程语言啊,不管java也好,c也好,独立于编程语言的文本格式来存储和表述。

2.JSON特性:

对比XML表述数据时所占的空间更小,网络的传输速度也能提高,逐渐成为程序员在传输数据时比较喜欢的格式。

3.JSON对象的格式:

     用一个简单的例子来对比不同格式的差别:

java
  class Book{
      private String name;
      private String info;
      get/set...
  }
      Book b = new Book();
      b.setName(“金苹果”);
      b.setInfo(“种苹果”);
      ...
js:
 var b = new Object();
 b.name = "金苹果";
 b.info = "种苹果";
XML:
 <book>
     <name>金苹果</name>
     <info>种苹果</info>
 </book>
JSON:
  {
     "name":"金苹果",
     "info":"种苹果"
  }

4.用文字來解釋就是:一个对象, 由一个大括号表示. 括号中 描述对象的属性 . 通过键值对来描述对象的属性 (可以理解为, 大括号中, 包含的是一个个的键值对.)

5.格式: 键与值之间使用冒号连接, 多个键值对之间使用逗号分隔. 键值对的键 应使用引号引住 (通常Java解析时, 键不使用引号会报错. 而JS能正确解 析.) 键值对的值, 可以是JS中的任意类型的数据

数组格式:JSON格式库与对象互相嵌套

例如

{
    "name":"马保国",
    "age":18,
    "pengyou":["张三","李四","王二","麻子",{
                "name":"一代宗师",
                "info":"不讲武德"
              }],
    "jianjie":{
          "name":"大长刀",
          "info":"40m"
       }
}

但是嵌套的多了不容易查看,可以利用网上的JSON平台视图来看,推荐一个:

sojson.com/json/json_online.html

6.JSON解析:

Java官方目前并没有解析的格式,推荐使用谷歌的Gson和阿里的FastJson

大家可以先在官方网站下载对于的JAR包,

7.JAVA和JSON的关系:

     将Java中的对象 快速的转换为 JSON格式的字符串.

     将JSON格式的字符串, 转换为Java的对象.

8. 在GSON中

    将对象转换为json字符串的步骤:

    转换JSON字符串的步骤:

             1. 引入JAR包

             2. 在需要转换JSON字符串的位置编写如下代码即可:

                String json = new Gson().toJSON(要转换的对象);

    案例:   Book b = BookDao.find();

               String json = new Gson().toJson(b);

               System.out.println(json);

9. 将JSON字符串转换为对象

       1. 引入JAR包

       2. 在需要转换Java对象的位置, 编写如下代码:

            对象 = new Gson().fromJson(JSON字符串,对象类型.class);

      案例: String json = "{\"id\":1,\"name\":\"钢铁是怎样炼成的\",\"author\":\"奥斯特洛夫斯基 \",\"info\":\"12345\",\"price\":198.0}"; 

               Book book = new Gson().fromJson(json, Book.class);

               System.out.println(book);

10.在FastJson中

      将对象转换为JSON字符串:

      转换JSON字符串的步骤:

          1. 引入JAR包

          2. 在需要转换JSON字符串的位置编写如下代码即可: String json=JSON.toJSONString(要转换的对象);

         案例:

          Book b = BookDao.find();

          String json=JSON.toJSONString(b);

          System.out.println(json);

11.将JSON字符串转换为对象

       1. 引入JAR包

       2. 在需要转换Java对象的位置,

       编写如下代码:

       类型 对象名=JSON.parseObject(JSON字符串, 类型.class);

                或

        List list=JSON.parseArray(JSON字符串,类型.class);

案例:

案例: String json = "{\"id\":1,\"name\":\"钢铁是怎样炼成的\",\"author\":\"奥斯特洛夫斯基 \",\"info\":\"12345\",\"price\":198.0}"; 

               Book book = new Gson().fromJson(json, Book.class);

               System.out.println(book);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值