Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将字段作为字符串获取,而不考虑它';Java中的内容类型是什么?_Java_Json - Fatal编程技术网

如何将字段作为字符串获取,而不考虑它';Java中的内容类型是什么?

如何将字段作为字符串获取,而不考虑它';Java中的内容类型是什么?,java,json,Java,Json,我试图从JsonObject中检索一个字段作为字符串。此字段“agentid”有时与字符串一样长,有时与字符串一样长。当时间长的时候,我会得到一个例外 java.lang.ClassCastException:无法将java.lang.Double强制转换为 java.lang.CharSequence 以下是处理此异常的语句: // get agent ID String agentID = parameterJson.getString("agentid"); 如何安全地获取此字段“age

我试图从JsonObject中检索一个字段作为字符串。此字段“agentid”有时与字符串一样长,有时与字符串一样长。当时间长的时候,我会得到一个例外

java.lang.ClassCastException:无法将java.lang.Double强制转换为 java.lang.CharSequence

以下是处理此异常的语句:

// get agent ID
String agentID = parameterJson.getString("agentid");

如何安全地获取此字段“agentid”的内容并将其存储为Java中的字符串?

在您使用的
JsonObject
类上,我假设它有一个
get()
getObject()
方法返回
对象。您可以调用该方法,后跟
.toString()

例如:

String agentID = parameterJson.getObject("agentid").toString();

您可以使用它将其转换为字符串

String agentID = String.valueOf(parameterJson.getString("agentid"));

您可以做不同的事情:

首先,您可以执行
Double.toString(…)
,因为
异常会告诉您出现错误的原因

您还可以执行
String.valueOf(Object)
操作,该操作还可以处理传入的每个对象,或者在从JSON获取
对象时使用
toString
方法


您还可以使用
getDouble
而不是
getString
并使用double类型。

您可以使用
double.toString(parameterJson.getDouble(“agentid”);
将其存储为字符串。但是,您必须使该方法适合您要解析的对象的类型。
parameterJson.getString(“agentid”)
已经返回了一个
字符串
,如果给定键的值不是
字符串
,则会引发异常。这不起作用,因为您正在执行
getString(Double)
,它仍然会引发异常,或者
String.valueOf(Object)
或者
Object.toString()
是获取java.lang.Double的方法,不能强制转换为io.vertx.core.json.JsonObject。使用您建议的代码
String agentID=parameterJson.getJsonObject(“agentID”).toString();
@user3243499可能您调用的方法不正确。我不知道您使用的是哪个类,所以我自己无法检查它,但请查看是否有返回
对象的方法(不是JsonObject)。