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

静态的网页wordpressseo营销论文

静态的网页wordpress,seo营销论文,网站做竞价优化,微信网站开发怎么做有些小伙伴发现了,明明在返回的实体类中指定了属性为transient。为什么前端得到的返回json中还是有这个属性的值? 类: private String name; private transient String password;返回结果: { name:"刘大大", password:…

        有些小伙伴发现了,明明在返回的实体类中指定了属性为transient。为什么前端得到的返回json中还是有这个属性的值?

类:

  private String name;

private transient String password;

 返回结果:

{

        name:"刘大大",

        password:"baofu"

}

1. 序列化是什么?

1.1 是什么?

    序列化是将对象的状态(即其属性值)转换为一种可以存储或传输的形式的过程。这个过程通常用于以下几种场景:

  1. 持久化:将对象的状态保存到磁盘文件中,以便以后恢复。
  2. 网络传输:将对象的状态转换为字节流,以便在网络上传输。
  3. 进程间通信:将对象的状态转换为字节流,以便在不同的进程或线程之间传递。

1.2 主要目的

 序列化的主要目的是确保对象的状态可以在不同的环境中准确地恢复。具体来说,序列化有以下几种常见形式:

  1. 二进制序列化:将对象转换为字节流。
  2. JSON 序列化:将对象转换为 JSON 格式。
  3. XML 序列化:将对象转换为 XML 格式。

1.3  Java 中的序列化

         在 Java 中Java 中的序列化,序列化主要通过实现 Serializable 接口来完成。当一个类实现了 Serializable 接口后,它的对象就可以被序列化。


2. transient 是什么?


       transient 关键字主要用于 Java 的二进制序列化过程中。当一个字段被标记为 transient 时,Java 的序列化机制不会将这个字段写入到序列化的字节流中。
 

这是因为 transient 字段的值不应该被持久化,或者是由于安全性、性能等原因而不应该在网络上传输。

  1. 不希望将某些敏感数据(如密码)持久化。
  2. 某些字段在序列化时是不必要的,例如缓存数据。

3. transient 关键字在JSON序列化的问题

        尽管 transient 关键字在 Java 的二进制序列化中很有用,但在 JSON 序列化中却不起作用。常见的 JSON 序列化库(如 Jackson 和 Gson)并不会识别 transient 关键字。这意味着即使你将一个字段标记为 transient,它仍然会被序列化到 JSON 中。


4. 替代方案


        为了在 JSON 序列化中排除某些字段,可以使用 JSON 序列化库提供的注解和方法。以下是常见的替代方案:既然是JSON不会识别transient 。那就用JSON能否识别的方式进行处理


4.1 使用 Jackson 的 @JsonIgnore


Jackson 提供了 @JsonIgnore 注解来控制哪些字段应该被序列化到 JSON 中。这是一个非常直观且易于理解的方法。


4.2 示例代码


假设你有一个 User 类,并且你不希望将 password 字段包含在 JSON 输出中。

import com.fasterxml.jackson.annotation.JsonIgnore;@Data
public class User {public User(String username, String password) {this.username = username;this.password = password;}private String username;@JsonIgnoreprivate String password;}

4.3 控制器类 UserController


假设你有一个控制器类 UserController,用于返回 User 对象。

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import com.fasterxml.jackson.databind.ObjectMapper;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;@RestController
public class UserController {@GetMapping("/user")public R getUser() {User user = new User("Alice", "secret");return R.data(user);}
}

4.4 输出结果


当你通过浏览器或工具访问 /user 接口时,返回的 JSON 将不再包含 password 字段。

{
    "username": "Alice"
}
 

5. 总结

        虽然 transient 可以帮助你控制 Java 的二进制序列化行为,但它并不是为 JSON 序列化设计的。如果你的目标是在 JSON 序列化过程中排除某些字段,建议使用 JSON 序列化库提供的机制,比如 Jackson 的 @JsonIgnore 或者类似的注解。这样做不仅更符合预期,而且代码的意图也更加清晰。

http://www.ds6.com.cn/news/35697.html

相关文章:

  • 辽宁网站建设哪里好找市场营销产品推广策划方案
  • 苗木企业网站建设源代码 园林网站源码程序 苗圃花卉网站制作源码企业网站建设方案范文
  • wordpress cad插件大全宁波如何做seo排名优化
  • 网站建设 概念股最新免费网站收录提交入口
  • 零配件加工东莞网站建设技术支持建设网站的网络公司
  • 农产品网站开发 文献综述营销宣传方式有哪些
  • 设计师工作室网站培训网登录入口
  • 企业qq下载seo外包大型公司
  • 绍兴免费网站建站模板织梦seo排名优化教程
  • 东莞网站设计公司哪家好十种营销方式
  • 平面网页设计是做什么的seo专业优化方法
  • 拉萨建设厅网站首页国际财经新闻
  • 做网站是怎么做的制作网站的网址
  • 丽水网站建设关键词检索怎么弄
  • 做网站送推广谷歌竞价排名推广公司
  • php网站首页模板百度快速排名化
  • 公司的网站设计方案网站免费制作
  • 建设银行网站查完整卡号温州seo招聘
  • 公司装修通知告示怎么写关键词seo深圳
  • 自己做的网站如何发布近期新闻热点大事件
  • 网站建设案例咨询口碑营销是什么
  • 郑州做网站优化的公司怎么去推广自己的公司
  • 网站备案真麻烦长沙企业网站设计
  • 长锦船公司网站网站首页快速收录
  • 重庆微网站开发公司做百度推广代运营有用吗
  • 免费个人crmapp梁水才seo优化专家
  • 做网站政府扶持网站快速优化排名排名
  • 青岛网站快速排名提升搜索广告是什么意思
  • 网站服务器 内存seo咨询常德
  • 做机械加工外贸网站哪家好交换友情链接的注意事项