当前位置: 首页 > 面试题库 >

如何从JSONObject检查值的类型?

董子航
2023-03-14
问题内容

我正在尝试获取存储在中的值的类型JSONObject

String jString = {"a": 1, "b": "str"};
JSONObject jObj = new JSONObject(jString);

是否有可能获取存储在key处的值的类型"a";像jObj.typeOf("a") = java.lang.Integer什么?


问题答案:

您可以使用get()方法从JSON获取对象,然后使用instanceof运算符检查Object的类型。像这样的东西:

String jString = "{\"a\": 1, \"b\": \"str\"}";
JSONObject jObj = new JSONObject(jString);
Object aObj = jObj.get("a");
if(aObj instanceof Integer){
    System.out.println(aObj);
}


 类似资料:
  • 我有如下所示的JSON 我将文件读成字符串并创建一个JSONObject,如下所示 然而,我认为我可以用try catch将语句括起来 请建议在这种情况下是否有任何合理的理由放一个长的if条件,而不是仅仅try-catch-log然后继续。 您还可以分享使用JSONException在此上下文中是否有任何“优点”吗?

  • 我想向jsonObject添加一个新字段,这个新字段的名称将基于另一个字段的值。明确地说,这是我想要实现的一个例子。 我想为每个json对象添加一个新的字段,它将以字段“stat”的值作为名称。 我尝试使用JsonPath库执行以下操作,但对我来说,这是一个难看的解决方案,因为我将解析json三次,并进行一些手动替换。 这是得到的结果 有没有更好的方法来达到这个结果呢?我试着用gson来做,但它不

  • 问题内容: 我在http://json.org/javadoc/org/json/JSONObject.html上使用Java类。 以下是我的代码段。 getJSON返回以下字符串 现在…我如何获得“口号”的价值? 我尝试了页面上列出的所有方法,但没有一个起作用。 问题答案:

  • 问题内容: 我需要检查值是否为整数。我发现了这一点:如何检查输入值是整数还是浮点数?,但如果我没记错的话,即使 值 本身确实是,变量仍然是类型。 问题答案: 如果输入值可以是整数以外的其他数字形式,请按 如果传递字符串值, 请使用,请确保在转换失败的情况下使用try catch进行错误处理。

  • 我有这个数据类型,只是对相关数据进行分组。它应该是一个类似结构的东西,所以我选择了一个 另一方面, 没有默认值,因此我驻留在另一个答案中提出的黑客攻击中。 显然,这使得类型检查失败:< code >错误:“Callable[[Type[NT],Any,Any,Any,Any,Any],NT]”没有属性“_ _ defaults _ _” 因为我很清楚这是一种黑客行为,所以我使用内联注释< code

  • 问题内容: float(‘nan’)结果为Nan(不是数字)。但是,如何检查呢?应该很容易,但是我找不到。 问题答案: 返回如果为(非数字),以及其他。