我正在尝试从JsonObject检索一个字符串形式的字段。有时,“ agentid”字段的使用时间有时长于String。等到很长一段时间,我就会遇到异常
java.lang.ClassCastException:无法将java.lang.Double强制转换为 java.lang.CharSequence
以下是遇到此异常的语句:
// get agent ID
String agentID = parameterJson.getString("agentid");
如何安全获取此字段“ agentid”的内容并将其存储为Java中的String?
答案 0 :(得分:1)
根据您正在使用的JsonObject
类,我假设它具有一个返回get()
的{{1}}或getObject()
方法。您可以先调用该方法,再调用Object
。
例如:
.toString()
答案 1 :(得分:1)
您可以执行不同的操作:
首先,您可以执行Double.toString(...)
,因为Exception
会告诉您错误出现的原因。
您还可以执行String.valueOf(Object)
,它也可以处理在其中传递的每个对象,或者当您从JSON中获得toString
时只需使用Object
方法。
您还可以只使用getDouble
而不是getString
并使用double类型。
答案 2 :(得分:0)
您可以使用它将其转换为字符串。
String agentID = String.valueOf(parameterJson.getString("agentid"));