当前位置: 首页 > news >正文

做网站会员金字塔系统中国山东建设监理协会官方网站

做网站会员金字塔系统,中国山东建设监理协会官方网站,seo外链网站源码,企业邮箱有什么作用文章目录 一、JSON 概述1.1 什么是 JSON1.2 JSON数据类型和语法1.3 JSON 优势 二、使用 JSON2.1 在 Java程序中使用 JSON2.2 Jackson的使用2.2.1 Jackson的简单介绍2.2.2 反序列化2.2.3 序列化 参考资料 一、JSON 概述 1.1 什么是 JSON JSON#xff08;JavaScript Object No… 文章目录 一、JSON 概述1.1 什么是 JSON1.2 JSON数据类型和语法1.3 JSON 优势 二、使用 JSON2.1 在 Java程序中使用 JSON2.2 Jackson的使用2.2.1 Jackson的简单介绍2.2.2 反序列化2.2.3 序列化 参考资料 一、JSON 概述 1.1 什么是 JSON JSONJavaScript Object Notation是一种轻量级的数据交互格式。它去除了所有 JavaScript 执行代码只保留 JavaScript 的对象格式。 它基于 ECMAScript (欧洲计算机协会制定的 js 规范)的一个子集采用完全独立于编程语言的文本格式来存储和表示数据。 1.2 JSON数据类型和语法 JSON适合表示层次结构JSON采用键值对的方式来组织数据仅支持以下几种数据类型 键值对{key: value}数组[1, 2, 3]字符串abc数值整数和浮点数12.34布尔值true或false空值null JSON的语法主要包含以下几点 JSON数据以键值对形式存在键值对的键和值之间用冒号 : 连接。不同键值对之间用逗号 , 隔开 JSON只允许使用双引号包裹 key 特殊字符用 \ 转义 {} 用于表示 JSON对象也称为键值对key-value pairs的集合对应 js 中的 object 。 [] 用于表示 JSON数组也称为值的有序列表对应 js 中的 array。数组中的元素可以是字符串、数字、布尔值、对象、数组或者 null。 JSON格式的例子 {name: John Doe,age: 30,city: New York,isStudent: false,hobbies: [reading, traveling, coding],address: {street: 123 Main Street,zipCode: 10001} }1.3 JSON 优势 JSONJavaScript Object Notation作为一种数据交换格式具有多个优点使其在各种应用中得到广泛使用 轻量级 JSON 是一种轻量级的数据交换格式相对于其他格式如 XML它的数据量较小。这有助于减少网络传输的数据量提高传输效率。 易于解析和生成 JSON 数据易于在不同的编程语言中解析和生成。几乎所有的编程语言都提供了 JSON 解析器和生成器使得在应用程序中处理 JSON 数据变得方便。 js中json与对象的转换JSON.parse()/JSON.stringify(); php中json与数组的转换json_encode()/json_decode(); java中json与对象的转换fromJson()/toJson(); python中json与对象的转换json.dumps()/json.loads(); 与多种平台和语言兼容 JSON 不依赖于任何特定的编程语言可以在不同平台和各种编程语言之间进行数据交换。这使得 JSON 成为跨平台和跨语言的数据传输格式。 浏览器原生支持 在前端开发中JSON 在 JavaScript 中具有原生支持可以直接在浏览器中解析和生成 JSON 数据使得前后端数据交互更加方便。 // JSON string to JavaScript object: jsObj JSON.parse(jsonStr);// JavaScript object to JSON string: jsonStr JSON.stringify(jsObj);二、使用 JSON 2.1 在 Java程序中使用 JSON 在 Java 中我们通常使用一些库来处理 JSON 数据实现 JavaBean和 JSON 之间的转换。这些库主要有 JacksonGsonFastjson 在 JavaBean和 JSON 之间的转换过程里主要有两个概念 序列化 将 JavaBean变为 JSON 对象反序列化 将 JSON对象 解析为 JavaBean 具体地说反序列化的过程包括以下步骤 获取JSON数据 从外部来源例如网络、文件或其他应用程序获取包含JSON数据的字符串。反序列化操作 使用相应的JSON解析库或框架将JSON数据解析为 Java 对象。在Java中常见的JSON解析库包括Jackson、Gson、org.JSON等。生成Java对象 解析后将 JSON 数据映射到 Java对象的属性上从而创建一个对应的 Java 对象。 在 Jackson 库中将 JSON 数据映射到 Java 对象的属性是通过 Java 对象的 Getter 和 Setter 方法以及字段的匹配来完成的。以下是映射的基本规则 属性名匹配 JSON中的字段名需要与 Java对象的属性名一致。例如如果JSON中有一个字段名为 id则对应的Java对象需要有一个名为 id 的属性并且Jackson库会通过调用 getId() 和 setId() 方法来映射该属性。驼峰命名规则 如果JSON中的字段名采用驼峰命名例如 myFieldJackson库会自动匹配到Java对象的驼峰命名风格的属性例如 getMyField() 和 setMyField() 方法。类型匹配 Jackson会尽量将JSON中的值转换为Java对象相应属性的类型。例如如果JSON中的 age 字段是一个整数Jackson会尝试将其转换为Java对象的 int 类型属性。嵌套对象 如果JSON中包含嵌套的对象Jackson会递归地将这些嵌套对象映射到Java对象的嵌套属性中。默认构造函数 Java对象需要具有默认构造函数无参数的构造函数。这是因为Jackson在映射时会创建Java对象的实例然后通过Setter方法设置属性的值。 2.2 Jackson的使用 2.2.1 Jackson的简单介绍 Jackson 是一个用于 Java 平台的 JSON 处理库主要用于 JSON 数据的序列化将 Java 对象转换为 JSON 字符串和反序列化将 JSON 字符串转换为 Java 对象。 Jackson是一个广泛使用且功能强大的库 可以与 Spring 框架无缝集成是 Spring MVC 默认的 JSON 处理库。 ObjectMapper 类是Jackson库的核心类提供两种方法 readValue 方法被用于将JSON字符串解析为 JavaBean 对象可以接受不同类型的输入包括 JSON 字符串、JSON 输入流等。例如 ObjectMapper objectMapper new ObjectMapper(); String jsonString { \id\: 1, \name\: \John\ }; User user objectMapper.readValue(jsonString, User.class);writeValueAsString 方法用于将 Java 对象序列化为 JSON 数据字符串。该方法接受一个 Java 对象并返回其对应的 JSON 字符串。例如 ObjectMapper objectMapper new ObjectMapper(); User user new User(1, John); String jsonString objectMapper.writeValueAsString(user);另外我们还可以可以自定义JsonSerializer和JsonDeserializer来定制序列化和反序列化 2.2.2 反序列化 假设有一个JSON字符串表示一个用户信息如下所示 {id: 1,username: john_doe,email: johnexample.com,age: 30,active: true }存在 User 类如下所示 Data public class User {private long id;private String username;private String email;private int age;private boolean active;// Default constructor (required for Jackson)public User() {}// Parameterized constructorpublic User(long id, String username, String email, int age, boolean active) {this.id id;this.username username;this.email email;this.age age;this.active active;} 我们将使用 Jackson 库进行 JSON 解析。首先确保已经将 Jackson 库添加到项目的依赖中。接下来使用以下代码将 JSON 字符串解析为Java对象 import com.fasterxml.jackson.databind.ObjectMapper;public class JsonExample {public static void main(String[] args) {// JSON字符串String jsonString { \id\: 1, \username\: \john_doe\, \email\: \johnexample.com\, \age\: 30, \active\: true };// 创建ObjectMapper对象ObjectMapper objectMapper new ObjectMapper();try {// 将JSON字符串解析为User对象User user objectMapper.readValue(jsonString, User.class);// 使用解析得到的User对象System.out.println(ID: user.getId());System.out.println(Username: user.getUsername());System.out.println(Email: user.getEmail());System.out.println(Age: user.getAge());System.out.println(Active: user.isActive());} catch (Exception e) {e.printStackTrace();}} }在这个例子中User 类是一个简单的Java类用于表示用户信息。ObjectMapper 类是Jackson库的核心类它提供了方法来解析JSON字符串并将其转换为Java对象。这个例子中readValue 方法被用于将JSON字符串解析为User对象。 请注意User类应该具有与JSON属性相对应的Setter方法以便ObjectMapper能够Java对象的实例然后通过Setter方法设置属性的值。 2.2.3 序列化 import com.fasterxml.jackson.databind.ObjectMapper;public class JsonSerializationExample {public static void main(String[] args) {// 创建一个User对象User user new User(1, john_doe, johnexample.com, 30, true);// 创建ObjectMapper对象ObjectMapper objectMapper new ObjectMapper();try {// 将User对象转换为JSON字符串String jsonString objectMapper.writeValueAsString(user);// 打印JSON字符串System.out.println(JSON String: jsonString);} catch (Exception e) {e.printStackTrace();}} }在这个例子中我们创建了一个User对象然后使用ObjectMapper的writeValueAsString方法将其转换为JSON字符串。writeValueAsString方法将Java对象转换为JSON字符串这样我们就可以在需要时将其传递给其他系统、写入文件或发送到网络。 请注意User类应该具有与JSON属性相对应的Getter方法以便ObjectMapper能够访问并获取Java对象的属性值。 参考资料 GitHub - FasterXML/jackson: Main Portal page for the Jackson project Jackson Tutorial | Baeldung推荐 使用JSON - 廖雪峰的官方网站 (liaoxuefeng.com) 什么是JSON - 知乎 (zhihu.com)
http://www.pierceye.com/news/49638/

相关文章:

  • 中山专业网站建设公司网站建设youyi51
  • 怎么把地图放到网站上求一个能用的网址
  • 郑州网站优化安阳县交易中心网站建设招标
  • wordpress主题安装ftp企业seo多少费用
  • 健身会所网站模板汉堡只做网站
  • 网站建设中古典武侠中文字幕泰州专业做网站公司
  • 网站开发兼容性广告设计与制作需要学什么软件
  • 网站seo做哪些工作php 修改 wordpress
  • 安安互联怎么上传网站网站建设公司好不好
  • 找工作的网站平台如何做网站手机
  • 成都网站建设兴田德润实力强怎么找的做网站的人
  • html网站制作答辩pptlinux建设网站php打开提示404
  • 安卓上怎么做单机网站短视频行业的发展趋势
  • 网站无法打开的原因做网站需要什么服务器配置
  • 积极参与网站信息建设工作网站怎么做彩页
  • 株洲网站建设兼职网站建设和运行费用
  • 遵义高端网站建设dedecms 做门户网站
  • 阳江网站建设 公司如今流行的网站建设
  • 政协网站法治建设承德网站建设
  • 网站推广软件免费版下载如何做外贸电商
  • 电商网站开发人员结构分类信息网站建设计划
  • 网站建设优化服务报价网站 防 恶意注册
  • 公司取名生成器免费seo查询外链
  • 公司域名让做网站的wordpress jquery插件开发
  • 专业商城网站搭建价格便宜的seo官网优化
  • 个人建设网站要钱吗中国建筑工程信息官网
  • 网站推广免费 优帮云竞价页面网站做优化
  • 建设摩托官方网站电商网站建设电话
  • 常州做网站的公司有哪些山东省品牌专业群建设网站
  • 天津哪家网站设计公司好wordpress是哪家公司的建站程序