• JSON




    1.意义

    • 官方介绍

       JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。 易于人阅读和编写。同时也易于机器解析和生成。                                          它基于JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON 采                                用完全独立于语言的文本格式,但是也使用了类似于 C 语言家族的习惯(包括 C, C++, C#, Java, JavaScript, Perl, Python 等)。                             这些特性使 JSON 成为理想的数据交换语言。JSON 建构于两种结构:“名称/值”对的集合(A collection of name/value pairs)。                            不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有                            键列表(keyed list),或者关联数组 (associative array)。值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。

    • 实战使用

        现在项目都是基于微服务的,后端返回 JSON 格式的数据,因而我们需要学习好 JSON 的书写和操作


    JSON例子

    • 对象
    {}
    {"name1":23}
    {"n1":2,"n2":3}
    • 数组
    []
    [1]
    [1,2,3]

    在JAVA中操作JSON操作

    • 轻量级类库 org.json

          1.添加依赖  

    <dependency>
      <groupId>org.json</groupId>
      <artifactId>json</artifactId>
      <version>20190722</version>
    </dependency

          2.新建类

    public class Person implements Serializable {
      private static final long serialVersionUID = 1L;
      private int id;
      private String name;
      private String pwd;
      @JsonFormat(pattern="yyyy-MM-dd")
      private Date birthday;
      public Person() {
      }
      public Person(int id, String name, String pwd, Date birthday) {
        super();
        this.id = id;
        this.name = name;
        this.pwd = pwd;
        this.birthday = birthday;
      }
      public int getId() {
        return id;
      }
    ...

          3.测试

    public class Test01 {
      public static void main(String[] args) {
        //Object----->JSON
        Person person=new Person(12, "zhangsan", "123", new Date());
        JSONObject jsonObject=new JSONObject(person);
        String json=jsonObject.toString();
        System.out.println(json);
        //JSON--->Object
        JSONObject jsonObject2=new JSONObject(json);
        System.out.println(jsonObject2.get("name"));
      }
    }
    • 重量级类库 org.json

           1.添加依赖   

    <dependency>
       <groupId>com.fasterxml.jackson.jaxrs</groupId>
       <artifactId>jackson-jaxrs-json-provider</artifactId>
       <version>2.9.9</version>
    </dependency>

           2.测试

    public class Test02 {
      public static void main(String[] args) throws IOException {
        ObjectMapper objectMapper=new ObjectMapper();
        //Object--->JSON
        Person person=new Person(12, "zhangsan", "123", new Date());
        String json=objectMapper.writeValueAsString(person);
        System.out.println(json);
        //JSON----->Object
        Person p2=objectMapper.readValue(json, Person.class);
        System.out.println(p2);
      }
    }

    在Web中操作JSON操作

    • 代码
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
      <script type="text/javascript">
         var json="{"name":"zhangsan","age":23}";
         //json---------->Object
         var obj=JSON.parse(json);
         console.dir(obj);
         //Object---------->json
         var json2=JSON.stringify(obj);
         console.log(json2);
    </script>
    </body>
    </html>
    • 测试

        



  • 相关阅读:
    【jQuery】用jQuery给文本框添加只读属性【readOnly】
    解决embed标签显示在div上层【转藏】
    width:100% 和 max-width:100%; 有区别吗【转藏】
    一位资深程序员的独白
    jQuery 取值、赋值的基本方法【转藏】
    js判断手机端操作系统(Andorid/IOS)
    PhpStrom 和 wamp 配置 xdebug
    php 中 ?? 和 empty 的 区别
    phpSpreadSheet 中 使用的 一些坑
    html td 限制 高度 和 宽度
  • 原文地址:https://www.cnblogs.com/yuanshuai1026/p/11585435.html
Copyright © 2020-2023  润新知