JSON是什么?认识 json

目录

一 Json定义

二 Json语法规则

三 json 的代码演示


一 Json定义

  1. 轻量级的文本数据交换格式
  2. 具有自我描述性【看到某个Json数据就能知道它的特点】
  3. 比xml传输速度快【跨平台】

二 Json语法规则

(1)语法

  • 两种数据结构:对象和数组
    • 大括号内为对象
    • 中括号内为数组
  • 对象中的数据由名称/值对构成
    • 值的类型可为字符串、数字、布尔值、null、数组、对象
    • 数据之间由逗号分隔

示例:

        ​​​​​​​        

(2)构成要素

1.对象{ }   2.数组[ ]   3.属性名:属性值   4.逗号(多个数据之间由逗号分隔)

(3)属性值类型种类

字符串、数字、布尔值、null、数组、对象

三 json 的代码演示

步骤1:Json解析框架fastjson-1.2.47.jar【使用maven的pom依赖管理】

步骤2:创建maven工程,并创建标准目录

步骤3:实现java对象转成Json字符串

        步骤3.1 创建Java对象

package org.example;import java.util.List;public class Student {private String name;private int age;private List<String> love;public Student() {}public Student(String name, int age, List<String> love) {this.name = name;this.age = age;this.love = love;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public List<String> getLove() {return love;}public void setLove(List<String> love) {this.love = love;}
}

        步骤3.2 pom引入fastjson的依赖

    <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.47</version></dependency>

        步骤3.3 测试类转换

package org.example;import com.alibaba.fastjson.JSON;import java.util.Arrays;
import java.util.List;public class Test {public static void main(String[] args) {String []array = new String[]{"乔尼","杰洛","大总统"};List<String>list = Arrays.asList(array);//1.构建对象Student student = new Student("jojo",1,list);String s = JSON.toJSON(student).toString();System.out.println(s);}
}

        效果:

         步骤4:实现JSON字符串转成Java对象

package org.example;import com.alibaba.fastjson.JSON;import java.util.Arrays;
import java.util.List;public class Test {public static void main(String[] args) {//步骤1:定义Json字符串String st = new String("{\"love\":[\"乔尼\",\"杰洛\",\"大总统\"],\"name\":\"jojo\",\"age\":1}\n");//步骤2:将字符串转换成Java对象【通过parseObject方法】Student student = JSON.parseObject(st,Student.class);//步骤3:输出Java对象中的方法System.out.println(student.getName());System.out.println(student.getAge());System.out.println(student.getLove());}
}

        效果: 

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

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

相关文章

FlinkCDC 菜鸟教程-文章目录

系列文章目录 背景篇 环境篇 准备一台已经安装了 Docker 的 Linux 或者 MacOS 电脑。准备教程所需要的组件版本对应关系安装环境检查 工具篇 flinkkibana 概念篇 Docker 介 绍Docker Compose 介 绍Kibana介 绍 实践篇 演示: Mysql CDC 导入 Elasticsearch 启动服务准备…

数据结构与算法学习(day3)——快速排序

文章目录 前言复习冒泡排序时遇到的问题快速排序 前言 &#xff08;1&#xff09;在本章的学习此前&#xff0c;需要复习前一章的内容&#xff0c;动手敲一遍解题。上一章讲的是冒泡排序算法&#xff0c;我在回顾的时候重新敲了一遍重新&#xff0c;就发了一些问题&#xff0c;…

极客时间:数据结构与算法之美【学习笔记+思考实践】

本篇是 《极客时间&#xff1a;数据结构与算法之美》课程的学习笔记和带有自己的一些思考实践。原文学习链接如下&#xff1a;https://time.geekbang.org/column/intro/100017301 开篇词 | 从今天起&#xff0c;跨过“数据结构与算法”这道坎01 | 为什么要学习数据结构和算法&a…

java面试题-spring与mybatis框架面试题

spring与mybatis框架面试题 面试官&#xff1a;Spring框架中的单例bean是线程安全的吗&#xff1f; 候选人&#xff1a; 嗯&#xff01; 不是线程安全的&#xff0c;是这样的 当多用户同时请求一个服务时&#xff0c;容器会给每一个请求分配一个线程&#xff0c;这是多个线程会…

Qt6中使用Qt Charts

官方文档&#xff1a;Qt Charts 6.5.2 如果你是使用 CMake 构建的&#xff0c;则应在 CMakeLists.txt 中添加如下两行代码&#xff1a; find_package(Qt6 REQUIRED COMPONENTS Charts)target_link_libraries(mytarget PRIVATE Qt6::Charts) 其中 mytarget 为你的项目名称。一共…

SpringBoot初级开发--服务请求(GET/POST)所有参数的记录管理(8)

服务端在定位错误的时候&#xff0c;有时候要还原现场&#xff0c;这就要把当时的所有入参参数都能记录下来&#xff0c;GET还好说&#xff0c;基本NGINX都会记录。但是POST的请求参数基本不会被记录&#xff0c;这就需要我们通过一些小技巧来记录这些参数&#xff0c;放入日志…

vue打包的基层原理

npm run build 的原理是利用 Vue CLI 的构建工具&#xff0c;根据项目中配置的各种规则&#xff0c;将源代码转换成可在浏览器中运行的静态文件。 npm run build 主要做了以下几个操作&#xff1a; 读取项目配置&#xff1a;根据项目中的配置文件&#xff0c;如 vue.config.js&…

天津web前端培训班 前端是否适合零基础学?

随着HTML 5和ECMAScript 6的正式发布&#xff0c;大量的前端业务逻辑&#xff0c;极大地增加了前端的代码量&#xff0c;前端代码的模块化、按需加载和依赖管理势在必行&#xff0c;因此Web前端越来越被人们重视。 Web前端的就业前景 Web前端开发工程师薪资持续走高&#xff…

Spring MVC实现RESTful

在 Spring MVC 中&#xff0c;我们可以通过 RequestMapping PathVariable 注解的方式&#xff0c;来实现 RESTful 风格的请求。 1. 通过RequestMapping 注解的路径设置 当请求中携带的参数是通过请求路径传递到服务器中时&#xff0c;我们就可以在 RequestMapping 注解的 val…

小红书下一个爆款趋势锁定 | 秋冬种草指南

今夏「多巴胺」风靡全网&#xff0c;现秋日又捎来一股名为「美拉德」的风……俨然一副“新晋顶流”的架势。 如何抓住这一新趋势&#xff1f;本期千瓜将锁定小红书下一个爆款内容——「美拉德」&#xff0c;剖析笔记与底层逻辑&#xff0c;助力品牌洞见先机&#xff0c;运筹布…

uniapp 高度铺满全屏

问题&#xff1a;在有uni-tabbar的情况下&#xff0c;页面铺满剩下的部分 <template><view :style"{height:screenHeightpx}" class"page"></view> </template> <script>export default {data() {return {screenHeight: &q…

长胜证券:主板或以震荡整理为主 结构性行情持续

长胜证券指出&#xff0c;技术面看&#xff0c;沪指3150点上方谨慎看多&#xff0c;缩量横盘整理代表强势&#xff0c;向上打破需市场放量且权重配合&#xff0c;后市若打破并站稳3230点可视为强势回转行情开启&#xff0c;考虑到短期人民币弱势格局&#xff0c;主板或以震动整…

山东企业ITSS认证条件

申请ITSS认证的条件 1、ITSS认证一级升级为定量级应满足以下基本条件&#xff1a; 具有独立的法人资格; 运维服务能力体系已根据运维服务能力成熟度的一级特征和关键指标建立&#xff0c;并已有效运行六个月以上; 能够提供运营和维护服务的管理、人员、资源、技术和流程的有…

【PCL-11】提取平面上层的目标物,剔除平面下层目标物

因项目需求,需提取平面上的物体,不提取平面下的物体,尝试采用超体聚类+LCCP分割的方式,但由于上层点云模型一侧有空洞,导致分割效果不理想。 这里采用pcl::ExtractPolygonalPrismData类,实现平面上物体的提取。 pcl::ExtractPolygonalPrismData类是通过设定处于同一平面模…

力扣(LeetCode)算法_C++——字母异位词分组

给你一个字符串数组&#xff0c;请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 输入: strs [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”] 输出: [[“bat”],[“nat”,“tan”…

电脑入门: 路由器初学者完全教程

路由器初学者完全教程 本文以Cisco2620为例,讲述了路由器的初始化配置以及远程接入的配置方法,探讨了如何使用内部网络的DHCP服务功能为远程拨入的用户分配地址信息以及路由器常见故障的排除技巧。 (本文假定Cisco2620路由器为提供远…

React三属性之:props

作用 将父组件的参数传递给子组件 父组件 import ./App.css; import React from react; import PropsTest from ./pages/propsTest class App extends React.Component{render(){return(<div><h2>App组件</h2><PropsTest obj{{name:王惊涛,age:27}}>…

基于qt软件的网上聊天室软件

1.服务器: 1).功能: 用于创建一个客户端&#xff0c;通过文本编辑器来获得端口号&#xff0c;根据获得的端口号创建服务器&#xff0c;等待客户端连接 创建成功会提示服务器创建成功 在收到客户端发送的信息时&#xff0c;把这条信息发送给其他所有客户端&#xff0c;实现群…

【Linux-Day9-进程间通信】

进程间通信 前提引入&#xff1a; 我们之前接触过管道 | 将前一个命令的输出结果作为后一个命令的输入 如&#xff1a;ps | grep “sleep” 其实就是将 ps 的结果写入到一个区域&#xff0c;在从这个区域读出目标数据 有名管道 mkfifo 创建管道文件 : mkfifo fifo ->创…

ip_vs 原理解析 (四)hook 后的开始 NF_INET_LOCAL_OUT

NF_INET_LOCAL_OUT 根据优先级依次是 ip_vs_local_reply4&#xff0c;ip_vs_local_request4 | -- ip_vs_local_reply4| -- ip_vs_out| -- ip_vs_fill_iph_skb // 填充 ip 头| -- ip_vs_proto_data_get // 根据 ip 头获取协议对应的 ipvs data| -- pp->conn_out_ge…