JSON简单了解

文章目录

        • 1、JSON介绍
        • 2、ES6模版字符串
        • 3、JS对象转化为JSON字符串
          • 3.1、手动JS对象转化为JSON字符串
          • 3.2、自动JS对象转化为JSON字符串
        • 4、JS对象和java互相转换

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);
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/423478.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浅谈安科瑞直流电表在新加坡光伏系统中的应用

摘要&#xff1a;本文介绍了安科瑞直流电表在新加坡光伏系统中的应用。主要用于光伏系统中的电流电压电能的计量&#xff0c;配合分流器对发电量进行计量。 Abstract: This article introduces the application of Acrel DC meters in PV system in Indonesia.The device is …

Linux命令_vim的详细用法

简介 vim是一款针对Linux和其他类Unix操作系统的文本编辑器。它是Vi编辑器的升级版本&#xff0c;具有丰富的功能和强大的扩展性。vim有三种基本模式&#xff1a;命令模式、插入模式和可视模式。 命令模式&#xff1a;用户可以使用各种命令移动光标和进行编辑操作&#xff0c;如…

数据库用户映射报错用户、组或角色在当前数据库中已存在 错误15023

报错场景原因&#xff1a; 数据库恢复前用户已存在&#xff0c;恢复后不显示&#xff0c;现重新新建和之前一样的用户名时&#xff0c;对新建的用户名进行数据库权限分配就会出现以上报错错误15023问题。 解决方案&#xff1a; 示例如下> Use [数据库名] go sp_change_us…

移动开发行业——鸿蒙OS NEXT开出繁花

1月18日&#xff0c;华为宣布HarmonyOS NEXT开发者预览版开放申请&#xff0c;根据官方注解&#xff0c;这个版本的鸿蒙系统有个更通俗易懂的名字——“星河版”&#xff0c;也被称为“纯血”鸿蒙。 根据官方解释&#xff0c;之所以取名星河版&#xff0c;寓意鸿蒙OS NEXT就像…

Linux 快速构造大数据文件

文章目录如下 1. 如何生成数据文件 2. 使用 yes 命令构造数据 2.1. 基本用法 2.2. 构造数据文件 3. 使用 awk 命令构造数据 3.1. 基本用法 3.2. awk 循环输出 3.3. awk 指定分隔符 3.4. awk 随机数 3.5. awk 随机字符 3.6. awk 构造数据 4. 总结 1. 如何生成数据文…

开源项目CuteSqlite开发笔记(八):Windows 64位/32位使用GetWindowLongPtr钩子函数

需求描述 在开发CuteSqlite的时候&#xff0c; 有一个功能需要实现&#xff0c;鼠标移到WTL::CStatic上后&#xff0c;发送消息通知CToolTipCtrl弹出。 遇到问题 WTL::CStatic控件没有相应 WM_MOUSEMOVE 消息&#xff0c;需要返回一个HTCLIENT消息来让窗口处理函数执行 WM_MO…

Databend 开源周报第 129 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 支持标准流 标…

智慧工厂视频监控平台EasyCVR公网收流后内网设备无法播放是什么原因?

安防视频监控平台EasyCVR采用了开放式的网络结构&#xff0c;支持高清视频的接入和传输、分发&#xff0c;平台提供实时远程视频监控、视频录像、录像回放与存储、告警、语音对讲、云台控制、平台级联、磁盘阵列存储、视频集中存储、云存储等丰富的视频能力&#xff0c;此外&am…

如何在WordPress网站中添加多语言搜索(2种简单方法)

您想在WordPress网站中添加多语言搜索吗&#xff1f; 如果您有一个多语言 WordPress 网站&#xff0c;那么添加多语言搜索功能可以帮助用户通过使用自己的语言进行搜索来更快地找到信息。 在本文中&#xff0c;我们将向您展示如何在 WordPress 中轻松添加多语言搜索&#xff…

云风网(www.niech.cn)个人网站搭建(四)navicat 连接mongodb数据库

navicat安装破解 第一步&#xff0c;启动MongoDB服务 具体操作请移步&#xff1a;MongoDB安装配置教程 第二步&#xff1a;创建新连接&#xff0c;创建数据库 文件–新建连接–MongoDB 双击打开连接&#xff08;也可右键打开连接&#xff09;&#xff0c;右键新建数据库&…

《移动通信原理与应用》实验一——QPSK调制与解调实验(实验箱)

目录 一、实验目的 二、实验主要内容及原理 2.1、主要内容 2.2、基本原理 三、实验器材 3.1、移动通信原理实验箱&#xff1a; 3.2、实验框图及电路说明 四、实验步骤 五、实验过程原始记录(数据、图表、计算等) 六、实验结果及分析 1、结果分析&#xff1a; 2、思…

【Java IO】设计模式 (装饰者模式)

Java I/O 使用了装饰者模式来实现。 装饰者模式 请参考装饰者模式详解 装饰者(Decorator)和具体组件(ConcreteComponent)都继承自组件(Component)&#xff0c;具体组件的方法实现不需要依赖于其它对象&#xff0c;而装饰者组合了一个组件&#xff0c;这样它可以装饰其它装饰者…