Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >判断Object中数据类型(已知类型、未知类型))

判断Object中数据类型(已知类型、未知类型))

作者头像
ha_lydms
发布于 2023-08-09 13:10:55
发布于 2023-08-09 13:10:55
31600
代码可运行
举报
文章被收录于专栏:学习内容学习内容
运行总次数:0
代码可运行

一、已知数据类型

接收到的数据类型为Object,如果知道数据的类型可以使用ObjectMapper进行处理,得到里面的参数。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.HashMap;
public class Test02 {
    public static void main(String[] args) throws IOException {
        String str = "{\"one\":\"yes\",\"key\":\"value\"}";
        ObjectMapper mapper = new ObjectMapper();
        HashMap hashMap = mapper.readValue(str, HashMap.class);
        System.out.println(hashMap.toString());
    }
}

二、未知数据类型

假如,不清楚数据类型,或者接收到的数据类型有很多种,这样就需要对接收到的数据,按类型进行分类处理,这就要求对接收到的数据类型进行判断。

方法一、equals进行判断
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HashMap<String, String> hashMap = new HashMap<>();
Object object = (Object)hashMap;
if (HashMap.class.equals(object.getClass())){
    System.out.println("true");
}
方法二、instanceof进行判断

测试一个对象obj是否为一个类的实例;obj必须为引用类型,不能是基本类型;obj为null,则返回false。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HashMap<String, String> hashMap = new HashMap<>();
Object obj = (Object)hashMap;
if (obj instanceof HashMap){
    System.out.println("True");
}
方法三、通过class获取类型
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HashMap<String, String> hashMap = new HashMap<>();
Object object = (Object)hashMap;
String simpleName = object.getClass().getSimpleName();
if ("HashMap".equals(simpleName)){
    System.out.println("True");
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
《JSON笔记之二》----封装JSONUtil
许多java开发人员对于fastjson再也熟悉不过了,这是alibaba开源的依赖,使用fastjson可以使我们很容易的把请求json串转换成为我们所需要的对象、list、map等对象格式,对于开发带来了很多的遍历,具体的详细操作就不详细介绍了。
沁溪源
2020/09/03
6500
Unchecked cast: java.lang.Object to java.util.List问题的解决
java中如果需要将一个object转成list,大部分人会直接使用强制类型转换:(List<String>) obj这样。这样强制转换编译会提示Unchecked cast: 'java.lang.Object' to 'java.util.List<java.lang.String>',编译器的意思该强制类型转换并未做类型校验,强制转换并不安全,可能会抛出异常导致程序崩溃。
ha_lydms
2023/08/09
1.4K2
Unchecked cast: java.lang.Object to java.util.List问题的解决
E027Web学习笔记-Ajax和JSON
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML);
訾博ZiBo
2025/01/06
990
E027Web学习笔记-Ajax和JSON
软件测试|Junit5 实现参数化和数据驱动
登录:不同的用户名,不同的密码,不同的组合都需要做登录场景的测试,正常的排列组合下可能会产生多个用例
霍格沃兹测试开发Muller老师
2023/01/09
1.3K0
【安全研究】Jackson 学习笔记
Jackson框架是基于Java平台的一套数据处理工具,被称为"最好的Java Json解析器",目前Jackson主要有1.x和2.x两个分支版本,其中1.x的类库中包命名以org.codehaus.jackson.xxx开头,2.x类库中包命令com.fastxml.jackson.xxx开头,Jackson框架包含以下3个核心库:
Al1ex
2023/03/29
1.9K0
【安全研究】Jackson 学习笔记
史上最详细Ajax学习笔记
核心语法:$.get(url,[data],[callback],[type]);
楠羽
2022/11/18
2K0
史上最详细Ajax学习笔记
Jackson详解
其中 jackson-databind内部依赖了jackson-annotations与ackson-core,故只导入jackson-databind即可
冬天vs不冷
2025/01/21
2370
Jackson详解
Ajax与Json的学习
AJAX: 1. 概念: * Asynchronous Javascript And XML”(异步 JavaScript 和 XML) * 异步和同步:客户端和服务器端相互通信的基础上 * 客户端必须等待服务器端的响应。在等待的期间客户端不能做其他操作。 * 客户端不需要等待服务器端的响应。在服务器处理请求的过程中,客户端可以进行其他的操作。 Ajax 是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。 通过在后台与服务
Rochester
2020/09/01
2.6K0
CVE-2020-36189:Jackson-databind SSRF&RCE
com.newrelic.agent.deps.ch.qos.logback.core.db.DriverManagerConnectionSource类绕过了之前jackson-databind维护的黑名单类,并且JDK版本较低的话,可造成SSRF&RCE。
Al1ex
2021/04/01
1.3K0
CVE-2020-36189:Jackson-databind SSRF&RCE
关于在controller中json数据与对象,map,list的相互转换 jackson
com.fasterxml.jackson.corejackson-core2.7.3com.fasterxml.jackson.corejackson-databind2.7.3com.fasterxml.jackson.corejackson-annotations2.7.3 --------------------------------------
samRsa
2025/02/24
1670
简单实现_实体类与Json字符串互相转换
ha_lydms
2023/08/09
4320
简单实现_实体类与Json字符串互相转换
Java对象与JSON字符串互相转换
JSON解析器,常见的解析器:Jsonlib,Gson,fastjson,jackson 介绍:Jackson
全栈程序员站长
2022/11/08
4.3K0
Java对象与JSON字符串互相转换
Java泛型类型擦除问题
以前就了解过Java泛型的实现是不完整的,最近在做一些代码重构的时候遇到一些Java泛型类型擦除的问题,简单的来说,Java泛型中所指定的类型在编译时会将其去除,因此List<String> 和 List 在编译成字节码的时候实际上是一样的。因此java泛型只能做到编译期检查的功能,运行期间就不能保证类型安全。我最近遇到的一个问题如下:
用户7353950
2022/06/23
1.2K0
jackson 序列化忽略未知字段: How to Ignore Unknown Properties While Parsing JSON in Java
使用 Jackson API 在Java中解析JSON时的一个常见问题是,当JSON包含未知属性时,即Java类没有与所有JSON属性对应的所有字段时,解析失败。
一个会写诗的程序员
2021/07/23
3.9K0
在Java中处理JSON数据:Jackson与Gson库比较
JSON,作为一种轻量级的数据交换格式,因其易于人阅读和编写,同时也易于机器解析和生成,而被广泛应用于网络通信和配置文件中。在Java中,有两个强大的工具帮助咱们处理JSON数据——Jackson和Gson。这两个库各有千秋,但选择哪一个呢?小黑今天就来带大家一探究竟。
程序猿川子
2024/10/23
2750
在Java中处理JSON数据:Jackson与Gson库比较
Apache httpClient+Jackson学习笔记
HTMLUnit可以用来做爬虫的。Jsoup比他跟简洁。使用python语言进行爬虫.开箱即用。
全栈程序员站长
2022/06/30
2.5K0
Apache httpClient+Jackson学习笔记
使用 jackson 解析 json 演示样例「建议收藏」
首先须要下载3个包,下载地址在Github FasterXML,这三个核心模块各自是:
全栈程序员站长
2022/07/11
3580
ObjectMapper 对象和json相互转换
ObjectMapper类是Jackson库的主要类。它提供一些功能将转换成Java对象匹配JSON结构,反之亦然。它使用JsonParser和JsonGenerator的实例实现JSON实际的读/写。
一写代码就开心
2022/05/09
1.5K0
关于json
JSON经常应用到的场景是:在后台应用程序中将响应数据封装成JSON格式,传到前台页面之后,需要将JSON格式转换为JavaScript对象,然后在网页中使用该数据。
在水一方
2022/06/14
3780
关于json
jackson序列化和反序列化中的注解和扩展点大全【收藏】
通过在属性、getter 方法或类级别上使用 @JsonSerialize 注解,可以指定要使用的序列化器。
公众号:码到三十五
2024/03/19
3.6K0
相关推荐
《JSON笔记之二》----封装JSONUtil
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验