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>
  • 测试

    



原文地址:https://www.cnblogs.com/yuanshuai1026/p/11585435.html