zoukankan      html  css  js  c++  java
  • 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>
    • 测试

        



  • 相关阅读:
    图像处理笔记(十)
    图像处理笔记(九):频率域滤波
    图像处理笔记(八)
    图像处理笔记(七)
    图像处理笔记(六):灰度变换与空间滤波
    分布式
    关于python代码是编译执行还是解释执行
    python中的元类metaclass
    Python的函数参数传递
    递推思想
  • 原文地址:https://www.cnblogs.com/yuanshuai1026/p/11585435.html
Copyright © 2011-2022 走看看