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

网站修改titlewordpress显示icp备案

网站修改title,wordpress显示icp备案,网站建设方案书 内容管理制度,徐州市住房和城乡建设局网站在Web开发中#xff0c;我们经常遇到前后端数据类型不匹配的问题#xff0c;特别是当后端使用大数据类型如Long时#xff0c;前端由于JavaScript的数字精度限制#xff0c;可能导致精度丢失。本文将深入探讨这个问题#xff0c;并提供两种有效的解决方法。 一、问题背景 …在Web开发中我们经常遇到前后端数据类型不匹配的问题特别是当后端使用大数据类型如Long时前端由于JavaScript的数字精度限制可能导致精度丢失。本文将深入探讨这个问题并提供两种有效的解决方法。 一、问题背景 在后端开发中为了确保数据的完整性和精度我们可能会选择使用Long类型来存储某些数据如订单ID、用户ID等。然而当这些数据通过API传输到前端时由于JavaScript中Number类型的精度限制最大安全整数为2^53-1如果Long类型的值超过了这个范围就可能导致精度丢失。 二、解决方法 针对这个问题我们可以采取以下几种解决方法 方法一使用JsonSerialize注解将Long类型转换为String类型 在Java后端中我们可以使用Jackson库的注解功能将Long类型的字段在序列化为JSON时转换为String类型。这样前端接收到的数据就是字符串形式避免了精度丢失的问题。 示例代码如下 import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import lombok.Data; Data public class PayOrderVo { // 使用ToStringSerializer将Long类型的id字段转换为String类型 JsonSerialize(using ToStringSerializer.class) private Long id; // 其他字段... }通过这种方式我们可以确保后端返回的JSON中Long类型的字段都以字符串的形式存在前端可以直接将其作为字符串处理无需担心精度问题。 方法二使用JsonFormat注解将Long类型格式化为String 除了使用ToStringSerializerJackson还提供了JsonFormat注解它允许我们指定字段的序列化格式。当我们将shape属性设置为JsonFormat.Shape.STRING时Long类型的字段也会被格式化为字符串。 示例代码如下 import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data; Data public class PayOrderVo { // 使用JsonFormat注解将Long类型的id字段格式化为String JsonFormat(shape JsonFormat.Shape.STRING) private Long id; // 其他字段... }这种方法同样可以确保Long类型的字段在序列化为JSON时以字符串形式出现避免前端精度丢失的问题。 前两种通过注解的方式确实可以有效地解决Long类型数据在前后端传输中的精度丢失问题。然而当项目中存在多个类且这些类中的多个字段都需要将Long类型转换为String类型返回给前端时逐一为每个字段添加注解不仅繁琐还可能导致代码冗余和难以维护。为了更优雅、高效地解决这一问题我们可以考虑使用全局配置的方式一次性解决所有Long类型字段的序列化问题。这样我们不仅能提高开发效率还能确保代码的一致性和可维护性。接下来我们将详细探讨如何通过全局配置来实现这一目标。 方法三全局配置Jackson将Long类型序列化为String 除了对单个字段进行注解配置外我们还可以进行全局配置使得所有Long类型的字段在序列化时都自动转换为String类型。这样可以减少在每个字段上添加注解的重复工作。 示例代码如下 import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.http.converter.json.Jackson2ObjectMapperBuilder; Configuration public class JacksonConfig { Bean Primary ConditionalOnMissingBean(ObjectMapper.class) public ObjectMapper jacksonObjectMapper(Jackson2ObjectMapperBuilder builder) { ObjectMapper objectMapper builder.createXmlMapper(false).build(); SimpleModule simpleModule new SimpleModule(); // 将Long类型序列化为String类型 simpleModule.addSerializer(Long.class, ToStringSerializer.instance); objectMapper.registerModule(simpleModule); return objectMapper; } }在这个配置中我们创建了一个自定义的ObjectMapper Bean并注册了一个SimpleModule该模块使用ToStringSerializer将Long类型序列化为String类型。这样整个应用中所有Long类型的字段在序列化时都会自动转换为String类型。 三、总结 前端精度丢失问题是一个常见的挑战但通过上述三种方法我们可以有效地解决这个问题。在实际开发中我们可以根据项目的具体情况和需求选择合适的方法。对于需要精确表示大数字的场景将Long类型转换为String类型是一个简单而有效的解决方案。
http://www.pierceye.com/news/367169/

相关文章:

  • 网站虚拟主机被国家禁止访问的网站怎么打开
  • wordpress手机加载不出来优化官网咨询
  • 平台网站建设预算表如何来做网站
  • 温州网站制作企业东莞网络推广公司电话
  • 网站建设的条件重庆那些网站
  • 伊犁网站制作大连甘井子区房价
  • 循环视频做网站背景win2012r2 建设网站
  • 建设网站制作汉狮团队义乌北苑编程网站开发公司
  • 网站开发公司会计处理滨州市住房和城乡建设局网站
  • 企业网站站内优化长尾关键词挖掘站长工具
  • 山东平台网站建设企业怎么做自己的品牌网站
  • 长沙seo网站排名杭州网站建设q479185700棒
  • 泰州网站建设搭建工程造价网
  • 网站流程优化c2c模式举例子
  • 帝国网站调用图片集网店平台有哪些
  • 做flash音乐网站的开题报告删除wordpress左上角
  • php网站开发学什么衡水大型网站建设
  • 广州网站开发软件平台wordpress 问号
  • 西安市建设干部学校网站厦门网站优化服务
  • 深圳市南山区住房和建设局官方网站如何把html网站改为asp网站
  • 网站建设有什么技术做dw网站图片怎么下载地址
  • 初中生如何做网站潍坊网站开发
  • 如何修改用织梦做的网站的模板价格对比网站开发
  • 单位建设网站的作用意义家在深圳坂田业主论坛
  • 网站什么时候备案好宜昌网站建设
  • 那个网站可以查询美做空基金竹中建设官方网站
  • 做直播网站找哪个网站网站平台推广方法
  • 查工程中标信息哪个网站成都网站建设 致尚
  • 做硅胶的网站wordpress googleapis
  • 做网站 简单外包常见的管理信息系统有哪些