首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Gson不序列化mac地址

Gson是Google提供的一个用于Java对象和JSON数据之间进行序列化和反序列化的库。它可以将Java对象转换为JSON格式的字符串,也可以将JSON格式的字符串转换为Java对象。

在默认情况下,Gson会将Java对象的所有字段都进行序列化和反序列化操作。然而,有时候我们希望某些字段不参与序列化,比如mac地址。为了实现这个目的,可以使用Gson提供的注解@Expose和@SerializedName。

@Expose注解用于标记需要参与序列化和反序列化的字段,而@SerializedName注解用于指定字段在JSON中的名称。

对于mac地址字段,我们可以在定义该字段时使用@Expose注解进行标记,然后在序列化和反序列化时通过GsonBuilder设置excludeFieldsWithoutExposeAnnotation()方法来排除未标记的字段。

下面是一个示例代码:

代码语言:txt
复制
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.annotations.Expose;

class MyClass {
    @Expose
    private String macAddress;
    
    // 其他字段和方法...
}

public class Main {
    public static void main(String[] args) {
        MyClass obj = new MyClass();
        obj.setMacAddress("00:11:22:33:44:55");
        
        Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();
        
        // 序列化
        String json = gson.toJson(obj);
        System.out.println(json);
        
        // 反序列化
        MyClass newObj = gson.fromJson(json, MyClass.class);
        System.out.println(newObj.getMacAddress());
    }
}

在上述代码中,我们使用@Expose注解标记了macAddress字段,然后通过GsonBuilder的excludeFieldsWithoutExposeAnnotation()方法来排除未标记的字段。这样,在序列化和反序列化时,Gson就会忽略macAddress字段。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • IP地址MAC地址

    ---- 一、MAC地址 1、mac地址定义与分配  mac地址是由网络设备制造商生产时烧录在网卡的EPROM(一种闪存芯片,通常可以通过程序擦写)。...只要不更改自己的 MAC 地址MAC 地址在世界是唯一的。形象地说,MAC地址就如同身份证上的身份证号码,具有唯一性。...2、mac地址的使用 首先我们知道(不知道的去引言看第二篇)mac地址是主要使用在数据链路层的标识符。  ...二、IP地址 1、ip地址定义概念 在上个标题“mac地址的使用”中我们知道了mac地址是属于数据链路层(单个局域网)中处理原寻找目的主机的问题,但是我们使用的网络并不单是只有一个局域网,而是很多局域网公共组建的...答:由mac地址的分配可知,mac地址是直接由厂家烧制而成,厂家们自己为了区分其它厂家的产品,单个厂家的产品中分配的mac地址部分段落是一样的,如果我们直接使用mac地址充当ip地址的功能,会导致诸多问题

    39120

    Android 序列化框架 Gson 原理分析,可以优化吗?

    配置项 Gson 类是整个库的核心 API,在进行任何序列化或反序列化之前,我们都需要获得一个 Gson 对象。...因此,在项目中有必要在 common 层提供一个全局的 Gson 对象,既有利于统一序列化配置,也是 Gson 性能优化的基本保障。...在 Gson 的反序列化中,首次反序列化一个类型的对象时,Gson 需要使用大量反射调用解析一个 TypeAdapter 适配器对象。随着 Model 的复杂程度增加,首次解析的耗时会不断膨胀。...[3] —— Norman Peitek 著 Javadoc · Gson[4] —— Gson 官方文档 Gson 源码解析和它的设计模式[5] —— 拉丁吴 著 还在被数据类的序列化折磨?...是时候丢弃 Gson 了: https://juejin.cn/post/6844903662783823885 [7] 抖音 Android 性能优化系列:启动优化实践(反序列化优化): https

    2.3K50

    Mac 地址会重复吗?Mac 地址也会耗尽吗?

    IP地址Mac地址产生的目的是方便别人找到自己 Mac地址有点像身份证号码,而IP地址就像门牌号码。...但不意味着Mac地址就不会出现重复了,很多小伙伴们都改过Mac地址,有的直接可以通过系统进行修改。 有的网络设备允许你在管理后台手动的修改mac地址。...Mac地址还可以用很久 有限的Mac地址,不断的使用,迟早是会消耗完的。但是Mac地址数量足够多,还可以使用很长一段时间。...IP地址是32位二进制数,约43亿个IP地址,而Mac地址是48位二进制数,约281万亿个Mac地址。...公网IP地址是在2019年才耗尽的,可想而知,Mac地址池可是比IP地址池大了6万多倍,而且重复的Mac地址只要不在一个局域网内就能正常使用,Mac地址相当于永远都消耗不完。

    7.1K11

    MAC地址_MAC地址格式_以太网的MAC帧_基础知识

    二.MAC地址每块网卡中的MAC地址称为物理地址,MAC地址长6字节,一般由连字符(或冒号)分隔的12个十六进制数表示,如02-60-8c-e4-b1-21.高24位为厂商代码,低24位为厂商自行分配的网卡序列号....MAC地址的类型:MAC地址发送顺序字节发送顺序:第一字节----------------->第6字节字节内的比特发送顺序: b0------------->b7补充:MAC地址一般被固化在网卡的电可擦可编程只读存储器...EEPROM中,因此MAC地址也被称为硬件地址.MAC地址有时也被称为物理地址。...MAC帧的比特同步;第二个字段是帧开始定界符,表示后面的信息就是MAC帧2.目的地址和源地址都是6B,就是网卡的MAC地址3.类型:2B,指出数据域中携带的数据应交给哪个协议实体处理.4.数据:46B-...- (2)如果目的MAC地址与网卡上固化的全球单播MAC地址相同,则接受该帧- (3)如果目的MAC地址是网卡支持的多播地址,则接受该帧。- (4)除上述(1)、(2)和(3)情况外,丢弃该帧。

    27540

    kotlin gson序列化默认值失效深入讲解

    Gson序列化原理 原理简述 gson序列化主要分为两个过程: 根据TypeToken创建出对象 根据json字符串解析数据,对对象属性赋值 对象的创建 ConstructorConstructor.get...Unable to invoke no-args constructor for " + type + ". " + "Registering an InstanceCreator with Gson...String = "sss") { init { println("init") } } 反编译的Java代码 包含两个构造函数,一个是我们声明的全参数构造函数,另一个是kotlin生成的辅助构造函数 包含无参构造函数...= 0) { var2 = ""; } this(var1, var2); } } gson序列化输出 代码: @Test fun testJson() { val user...反序列化输出 代码: @Test fun testJson() { val user = Gson().fromJson("{}", User::class.java) print(user.name

    1.6K20

    Mac 地址会重复吗?Mac 地址也会耗尽吗?

    ” IP 地址Mac 地址产生的目的是方便别人找到自己 Mac 地址有点像身份证号码,而IP地址就像门牌号码。...但不意味着 Mac 地址就不会出现重复了,很多小伙伴们都改过 Mac 地址,有的直接可以通过系统进行修改。 有的网络设备允许你在管理后台手动的修改 mac 地址。...Mac 地址还可以用很久 有限的 Mac 地址,不断的使用,迟早是会消耗完的。但是 Mac 地址数量足够多,还可以使用很长一段时间。...IP 地址是 32 位二进制数,约 43 亿个 IP 地址,而 Mac 地址是 48 位二进制数,约 281 万亿个 Mac 地址。...公网 IP 地址是在 2019 年才耗尽的,可想而知,Mac 地址池可是比 IP 地址池大了 6 万多倍,而且重复的 Mac 地址只要不在一个局域网内就能正常使用,Mac 地址相当于永远都消耗不完。

    3.3K30

    无线MAC地址过滤

    无线MAC地址过滤功能通过MAC地址允许或拒绝无线网络中的计算机访问广域网,有效控制无线网络内用户的上网权限。 ?...可以看到自己得MAC地址 MAC(Media Access Control, 介质访问控制 我们通俗叫做物理地址)地址过滤能通过MAC地址允许或拒绝无线网络中的设备(手机、电脑什么的)访问网络。...但是实际上,这种保护设置起来很麻烦,而且易于破解,得不偿失 MAC地址过滤的工作原理 每一个计算机设备都带有唯一物理地址MAC地址),可在网络上识别它。...通过MAC地址过滤,路由器将首先将设备的MAC地址与批准的MAC地址列表进行比较,并且只有在设备的MAC地址得到特别批准的情况下才允许设备进入Wi-Fi网络。 ?...MAC地址过滤不提供安全性 在许多操作系统中,MAC地址很容易被欺骗(大家可以搜索‘华为修改MAC地址’),因此任何设备都可以假装拥有允许的唯一MAC地址MAC地址也很容易获取。

    2.7K30

    怎么修改电脑MAC地址 电脑MAC地址修改图文教程

    本文转载:http://www.45fan.com/a/Router/2677.html MAC地址是指电脑网卡的硬件地址,此地址一般烧录在网卡上。...MAC地址工作在OSI七层模型的第二层,即数据链接层。那MAC地址可以修改吗?MAC地址一般在什么环境下需要修改? 这也是咱们今天讨论的主题,针对这两个问题,咱一个个来讨论:MAC地址可以修改吗?...另外,MAC地址需要修改一般当在局域网绑定时才会用到,比如局域网所有的IP和MAC进行了绑定才能上网,要解除上网限制,则需要修改MAC地址才可以。...下面具体讨论怎么修改电脑MAC地址,修改完成后该怎么查看见文章:如何查看当前网卡MAC地址 1、右击网上邻居属性,然后进入“本地连接”并右击属性,进入网卡设置项,如下图所示: ? 网上邻居属性 ?...网卡“配置”选项 3、在Network Address右边,可设置需要的MAC地址。默认值为“不存在”,如下图所示: ? 网卡“高级”选项 通过以上3步就简单完成了MAC地址修改,简单吧!

    15.7K10

    Linux :MAC 地址克隆方法

    摘 要 虽然 MAC 地址由厂商指定,但用户可以改变它,这就是传说中的“MAC 地址欺骗”。你可能会疑惑,弄这个有什么用?...虽然 MAC 地址由厂商指定,但用户可以改变它,这就是传说中的“MAC 地址欺骗”。你可能会疑惑,弄这个有什么用?...虽然 MAC 地址由厂商指定,但用户可以改变它,这就是传说中的“MAC 地址欺骗”。本文将向大家展示如何在 Linux 上玩 MAC 地址欺骗。 为什么要玩 MAC 地址欺骗? 想要理由?...你可以暂时把你的电脑的 MAC 地址改成你家路由器的 MAC 地址,让你的 ISP 重新将你连入外网。(译注:有这种事情么?) 很多 DHCP 服务器会依赖 MAC 地址来分配 IP 地址。...你可以在 Linux 运行的时候改变 MAC 地址。需要注意的是当 MAC 地址转换的那一会时间,你的网络会掉线。当电脑重启时 MAC 地址又会变回原来的。下面介绍几种方法来改变你的 MAC 地址

    8.5K50
    领券