Java的“isinstance”(Python)的等价物是什么?

2024-09-30 12:30:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个程序来生成测试API的请求,代码的下一部分将读取JSON,以便稍后管理值的信息:

def recorre_llaves(self, dicc):
    campos = []
    for k in dicc.keys():
        if isinstance(dicc[k], dict):
            for e in self.recorre_llaves(dicc[k]):
                campos.append(e)
        elif isinstance(dicc[k], list):
            if isinstance(dicc[k][0], dict):
                for e in self.recorre_llaves(dicc[k][0]):
                    campos.append(e)
                pass
            else:
                campos.append(Campo(k, dicc[k][0]))
        else:
            campos.append(Campo(k, dicc[k]))
        pass
    return campos
    pass

该程序迭代JSON并使用键和值创建新对象。现在我需要做同样的事情,但是使用Java,我对方法“isInstance()”有问题,我想做一些类似的事情:

import com.fasterxml.jackson.databind.ObjectMapper;    
HashMap <String, Object> response = mapper.readValue(request, HashMap.class);    
HashMap.get("KEY").isInstance();

但是它不起作用,你知道用Java做同样的事情的方法吗


Tags: inself程序jsonforifpass事情
2条回答

instanceof返回一个布尔值

Simple1 s=新的Simple1()
System.out.println(Simple1的s实例)//真的

Python中的list对应于Java中的List(参见javadoc of ^{})。
Python中的dict对应于Java中的Map(参见javadoc of ^{}

Python函数isinstance对应于Java关键字instanceof

因此出现了Python行

if isinstance(dicc[k], dict):

将用Java编写,如下所示:

if (dicc.get(k) instanceof List)

相关问题 更多 >

    热门问题