【发布时间】:2018-12-09 00:35:28
【问题描述】:
所以我正在使用简单的 json 库来执行一些 json 操作。现在我可以从 json 字符串构造一个 JSONObject,但我无法从我创建的对象中获取值。 例如,如果我这样做:
String value = (String) jsonRecord.get("Key");
我会收到一条错误消息:
java.lang.ClassCastException: org.json.simple.JSONObject cannot be cast to java.lang.String
我删除了转换为字符串的类型,它在 IntelliJ 中工作。但是,当我在命令行执行此操作时,它会给我一个错误提示:
error: incompatible types: Object cannot be converted to String
架构如下:
{
"myArray": {
"array": ["Decaf mocha", "Vanilla mocha", "Chai Latte"]
},
"Item": {
"string": "Decaf macha"
}
}
更新:toString() 修复了该问题。但是当我试图获取我得到的数组时:
java.lang.ClassCastException: org.json.simple.JSONObject cannot be cast to org.json.simple.JSONArray
有人可以建议如何解决这个问题吗?谢谢!
【问题讨论】:
-
您是否阅读了错误信息?你认为这意味着什么?
-
@JBNizet 是的,我已经阅读了错误消息,我认为它声称 get 方法返回的对象不能转换为对我来说没有意义的字符串。我可以使用 system.out.println 打印该值,所以理论上我应该能够将其转换为字符串。
-
错误表示jsonRecord.get("Key")正在返回一个JSONObject,尝试在其上使用
.toString()
标签: java json simplejson