JSON

简介: JSON(JavaScript Object Notation)是一种数据格式,用于在不同平台之间进行数据交换和存储。它采用了易于阅读和编写的文本格式,并且在多种编程语言中都有良好的解析和生成支持。

1、JSON介绍

JSON

  • 概念:JavaScript Object Notation。JavaScript 对象表示法,简单理解JSON是把JS对象变成字符串
  • 由于其语法简单,层次结构鲜明,现多用于网络中数据传输

image-20240122095936292

2、ES6模版字符串

ES6是js的语法标准,ES6中有js对象转化为json方法

ES6模板字符串是一种用来创建多行字符串和嵌入表达式的新语法。它是在ES6(ECMAScript 2015)中引入的

例如:想在页面输出4+5=9,原始方法

//1、浏览器中打印 4+5=9
let n1 = 4;
let n2 = 5;
let result = n1 + n2;
document.write(n1 + "+" + n2 + "=" + result + "<br/>");

而使用模板字符串允许你在字符串中嵌入变量或表达式。你可以使用${}语法在模板字符串中插入变量或者执行表达式,并将结果嵌入到字符串中

//2、使用ES6模版字符串
document.write(`${
     
     n1} + ${
     
     n2} = ${
     
     result}` + "<br/>");

ES6模板字符串可以在json中使用

let person = {
   
   
    name:"张三",
    age:"18",
    eat:function (){
   
   
        document.write(`${
     
     this.name},正在吃饭`);
    }
};

//调用
document.write(`姓名:${
     
     person.name},年龄:${
     
     person.age}` + "<br/>");
person.eat();

注意:ES6与JSP中的EL表达式有冲突,两者只能用其一

3、JS对象转化为JSON字符串

3.1、手动JS对象转化为JSON字符串

JavaScript对象

{
   
   
    name:"zhangsan",
    age:23,
    city:"北京"
}

JSON字符串

`{
   
   "name":"zhangsan","age":23,"city":"北京"}`

具体流程:

  1. 键加 ” ”
  2. 最外面加 ’ ’
  3. 放在同一行
3.2、自动JS对象转化为JSON字符串

方法

JSON对象的方法 说明
stringify(对象) 将指定对象转换为json格式字符串
parse(字符串) 将指定json格式字符串解析成对象

演示:

<script>
    let person = {
   
   
        name:"zhangsan",
        age:23,
        city:"北京"
    };

    // 将js对象转化为json字符串
    let s = JSON.stringify(person);
    document.write(s + "<br/>"); //输出 {"name":"zhangsan","age":23,"city":"北京"}

    // 将json字符串转化为对象
    let person2 = JSON.parse(s);
    document.write(`姓名:${
     
     person2.name},年龄:${
     
     person2.age}` + "<br/>");  //输出 姓名:zhangsan,年龄:23

</script>

4、JS对象和java互相转换

JSON转换工具的概述

简介:JSON的转换工具是通过Java封装好的一些jar工具包,直接将Java对象或集合转换成JSON格式的字符串,也可以将 JSON格式的字符串转成Java对象。

常见的JSON转换工具:

image-20240122134659149

Fastjson

简介:Fastjson是阿里巴巴提供的一个Java语言编写的高性能功能完善的JSON库,是目前Java语言中最快的JSON库,可以实现Java对象和JSON字符串的相互转换

使用:

  • 导入依赖

    <dependencies>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.58</version>
        </dependency>
    </dependencies>
    
  • Java对象转JSON

    String jsonStr = JSON.toJSONString(obj);
    
  • JSON字符串转Java对象

    User user = JSON.parseObject(jsonStr, User.class);
    

代码演示:

public static void main(String[] args) {
   
   
    // 1、将user对象转化为json字符串
    User user = new User("zhangsan",18);
    String jsonUser = JSON.toJSONString(user);
    System.out.println(jsonUser);

    // 2、将json字符串转换为java对象
    String userStr = "{\"age\":30,\"username\":\"list\"}";
    User parse = JSON.parseObject(userStr,User.class);
    System.out.println(parse);
}
相关文章
|
6天前
|
JSON 前端开发 JavaScript
JSON 必知必会
JSON 必知必会
N..
|
6天前
|
存储 JSON 前端开发
JSON
JSON
N..
21 1
|
6天前
|
存储 JSON JavaScript
JSON应用
JSON应用
31 4
|
6天前
C++Json生成
C++Json生成
29 0
|
9月前
|
JSON fastjson Java
JSON小记
JSON小记
112 0
|
11月前
|
XML JSON JavaScript
json
json
52 0
|
11月前
|
JSON 数据格式
json的一些小理解
个人学习总结
61 0
|
JSON JavaScript 前端开发
什么是 JSON?
什么是 JSON?
78 0
|
存储 JSON JavaScript
JSON介绍
JSON介绍
176 0
|
存储 JSON 前端开发