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

js做示爱网站例子排名第一的玉米品种

js做示爱网站例子,排名第一的玉米品种,山东省城建设计院网站,福建省建设注册执业管理中心网站JSON概念 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它易于人阅读和编写,同时也易于机器解析和生成。JSON 基于 JavaScript(ECMAScript(欧洲计算机协会制定的js规范)) 编程语言的一个子集&…

JSON概念

JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。它易于人阅读和编写,同时也易于机器解析和生成。JSON 基于 JavaScript(ECMAScript(欧洲计算机协会制定的js规范)) 编程语言的一个子集,但它是一种独立于语言的数据格式,被广泛应用于各种编程语言和平台之间的数据交换。

JSON 的主要特点:

  • 轻量级: JSON 格式非常简洁,只包含必要的数据信息,减少了传输的数据量,提高了数据传输效率。
  • 易于阅读和编写: JSON 的结构清晰,使用键值对的方式组织数据,易于人理解和编写。
  • 易于解析和生成: 各种编程语言都提供了 JSON 解析器和生成器,方便程序处理 JSON 数据。
  • 跨平台、跨语言: JSON 是一种与编程语言无关的数据格式,可以在不同的平台和编程语言之间进行数据交换。
  • 数据结构: JSON 支持两种基本的数据结构:
    • 对象(Object): 由花括号 {} 包围,包含一系列键值对。键必须是字符串,值可以是基本数据类型(字符串、数字、布尔值、null)、数组或另一个 JSON 对象。
    • 数组(Array): 由方括号 [] 包围,包含一系列值。值可以是基本数据类型(字符串、数字、布尔值、null)、JSON 对象或另一个数组。

JSON 的数据类型:

  • 字符串(String): 用双引号 "" 包围的 Unicode 字符序列。
  • 数字(Number): 可以是整数或浮点数。
  • 布尔值(Boolean): truefalse
  • 空值(Null): null
  • 对象(Object): 键值对的集合。
  • 数组(Array): 值的有序列表。

语法:

  1. 数据在 键值对(Key/Value) 中

  2. 数据由逗号 , 分隔

  3. 对象⽤ {} 表⽰

  4. 数组⽤ [] 表⽰

  5. 值可以为对象, 也可以为数组, 数组中可以包含多个对象

JSON 示例:

{"name": "张三","age": 30,"city": "北京","isStudent": false,"courses": ["语文", "数学", "英语"],"address": {"street": "XX大街","zipcode": "100000"}
}

如何与Java对象进行转化

ObjectMapper 是 Jackson 库中的一个核心类,主要用于在 Java 对象(POJO,Plain Old Java Object)和 JSON 数据之间进行转换。 简单来说,它能帮你把 JSON 字符串变成 Java 对象,也能把 Java 对象变成 JSON 字符串。

ObjectMapper 的主要功能:

  1. 序列化 (Serialization): 将 Java 对象转换为 JSON 字符串。 这个过程也称为 “marshalling”。
  2. 反序列化 (Deserialization): 将 JSON 字符串转换为 Java 对象。 这个过程也称为 “unmarshalling”。

为什么需要 ObjectMapper?

  • 简化 JSON 处理: 手动解析 JSON 字符串或手动构建 JSON 字符串非常繁琐且容易出错。 ObjectMapper 封装了这些复杂的操作,让你只需要调用几个简单的方法就能完成转换。
  • 类型安全: ObjectMapper 在转换过程中会进行类型检查,确保数据的正确性。 例如,如果你尝试将一个包含字符串的 JSON 字段反序列化为 Java 的 int 类型,ObjectMapper 会抛出异常。
  • 配置灵活: ObjectMapper 提供了丰富的配置选项,可以自定义 JSON 转换的行为,例如日期格式、字段命名策略、忽略未知字段等。

ObjectMapper 的常用方法:

  • writeValueAsString(Object value): 将 Java 对象转换为 JSON 字符串。

    ObjectMapper mapper = new ObjectMapper();
    MyObject obj = new MyObject("张三", 30);
    String jsonString = mapper.writeValueAsString(obj);
    System.out.println(jsonString); // 输出: {"name":"张三","age":30}
    
  • readValue(String content, Class<T> valueType): 将 JSON 字符串转换为 Java 对象。

    ObjectMapper mapper = new ObjectMapper();
    String jsonString = "{\"name\":\"李四\",\"age\":25}";
    MyObject obj = mapper.readValue(jsonString, MyObject.class);
    System.out.println(obj.getName()); // 输出: 李四
    System.out.println(obj.getAge());  // 输出: 25
    

易错点:
·readValue(String content, TypeReference<T> valueTypeRef): 将 JSON 字符串转换为复杂的泛型类型(如 List 或 Map<K, V>)。

当你需要将一个 JSON 数组转换为 Java 的 List 集合时,你需要使用 TypeReference 来帮助 Jackson 保留泛型信息。

ObjectMapper mapper = new ObjectMapper();
String jsonArrayString = "[{\"name\":\"张三\",\"age\":30}, {\"name\":\"李四\",\"age\":25}]";// 错误的做法:mapper.readValue(jsonArrayString, List.class);
// 这会导致 List 中的元素被解析为 LinkedHashMap,而不是 MyObject// 正确的做法:使用 TypeReference
List<MyObject> userList = mapper.readValue(jsonArrayString, new TypeReference<List<MyObject>>() {});System.out.println(userList.get(0).getName()); // 输出: 张三
  • readTree(String content): 将 JSON 字符串转换为 JsonNode 对象。 JsonNode 是 Jackson 库中表示 JSON 树结构的类,可以方便地访问 JSON 数据的各个部分。

    ObjectMapper mapper = new ObjectMapper();
    String jsonString = "{\"name\":\"王五\",\"age\":40}";
    JsonNode rootNode = mapper.readTree(jsonString);
    String name = rootNode.get("name").asText();
    int age = rootNode.get("age").asInt();
    System.out.println(name); // 输出: 王五
    System.out.println(age);  // 输出: 40
    

使用 ObjectMapper 的步骤:

  1. 添加 Jackson 依赖: 在你的项目中添加 Jackson 库的依赖。 如果你使用 Maven,可以在 pom.xml 文件中添加以下依赖:(如果是Springboot项目那么其已经内置了,不需要再导入)

    <dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.16.1</version>  <!-- 使用最新版本 -->
    </dependency>
    
  2. 创建 ObjectMapper 对象

  • 普通项目

    ObjectMapper mapper = new ObjectMapper();
    
  • SpringBoot项目

    • 正如前文所说,Spring Boot 已经为我们自动配置了一个 ObjectMapper Bean。因此,在 Spring Boot 项目中,我们不应该手动 new ObjectMapper(),而应该通过依赖注入(DI)来使用这个已经配置好的单例对象。
@Service
public class MyService {private final ObjectMapper objectMapper;// 通过构造函数注入(推荐)@Autowiredpublic MyService(ObjectMapper objectMapper) {this.objectMapper = objectMapper;}public void doSomething() {// 直接使用注入的 objectMapper 实例// ...}
}
  1. 调用 ObjectMapper 的方法进行 JSON 转换: 使用 writeValueAsString() 进行序列化,使用 readValue()readTree() 进行反序列化。

ObjectMapper 的高级用法:

  • 自定义序列化器和反序列化器: 可以自定义 JsonSerializerJsonDeserializer 来控制 JSON 转换的细节。
  • 使用注解: 可以使用 Jackson 提供的注解 (例如 @JsonProperty, @JsonIgnore, @JsonFormat) 来配置 JSON 转换的行为。
    • @JsonProperty("user_name"): 用于指定 Java 属性在 JSON 中对应的键名,常用于连接不同的命名风格(如 Java 的驼峰 userName 和 JSON 的下划线 user_name)。
    • @JsonIgnore: 在序列化和反序列化时完全忽略某个属性。
    • @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss"): 用于指定 Date 或 LocalDateTime 等日期类型的格式。
  • 配置 ObjectMapper: 可以通过 ObjectMapper 的配置方法 (例如 configure(), setPropertyNamingStrategy()) 来调整 JSON 转换的各种参数。
http://www.dtcms.com/a/562600.html

相关文章:

  • 电子商务网站建设需要注意什么外贸企业网站系统源码
  • 复盘与导出工具最新版V34.0版本更新----修复精选个股,今日龙一,风向标,实时盯盘 涨停股竞价 昨日涨停 板块轮动 题材库 失效问题
  • 广州网站建设哪家好个人如何注册公司流程
  • 大作设计网站官网入口做擦边球网站
  • 酵母表面展示技术:蛋白工程的“高通量筛选利器”
  • 让老MP3焕发新生!Rockbox开源固件
  • 门户网站构建国家备案网
  • sourceforge下载提速的方法
  • 网站开发需求分析word微信官网下载安装微信
  • 电影资源分享网站怎么做的网站设计注意因素
  • 郑州建站推广公司优质的广州做网站
  • wordpress 建立网站学生个人网站建设方案书框架栏目
  • 打工人日报#20251102
  • 32HAL——舵机DRV8833驱动电机
  • 上海国际建设总承包公司网站如何在虚拟空间上做多个网站
  • 东莞工程网站建设南通网站建设公司哪个好
  • 企业网站服务费怎么做记账凭证纯文本网站建设
  • 个人做网站还是公众号赚钱好网络工程就业方向
  • 官方网站制作邓州微网站建设
  • 申请域名后可以做自己的网站吗wordpress 手机电脑
  • seo网站排名优化快速排网站群建设需求
  • 免费申请自己的网站郴州市建设局网站
  • .耐思尼克官方网站北京市网页设计
  • 长沙网站建设市场低价网站开发.net
  • 孤能子视角:EIS六线分析之“苏格拉底对话孔子及AI“
  • 【计算机软件资格考试】软考综合知识题高频考题及答案解析2
  • 免费做淘宝客网站攸县网站开发
  • 清润邯郸网站wordpress文章禁止搜索
  • 哈尔滨怎样快速建站oa手机端app下载
  • 网站备案用户名忘了怎么办网站优化可以做哪些优化