【发布时间】:2018-03-26 23:06:07
【问题描述】:
编辑:我解析了错误的文件!我收到错误,因为我将文件视为数组,但它是错误的文件
我需要解析一个只有一个完整数组的 JSON 文件。我想访问“数据”数组中的“文本”。
JSON 文件:
[
{
"id": "12243",
"data": [
{
"text": "testing",
"userDefined": false
}
],
"countCheck": false,
"count": 0
}
]
Java 代码:
JSONObject object = (JSONObject) parser.parse(new InputStreamReader(new FileInputStream(files[i])));
org.json.simple.JSONArray data = (org.json.simple.JSONArray)object.get("data");
这编译并运行但“数据”显然是空的,我不知道为什么。此外,对象不为空。
【问题讨论】:
-
您确定准确的数据正在进入您的解析器吗?
-
根据您的 json 文件,您确定
object不是数组吗?转换为 JSONObject 时应该会出现异常 -
它运行了吗?不抛出异常?因为 JSON 以
[开头,所以根是一个数组,然后转换为JSONObject应该会抛出一个类转换异常。 -
所以完全消除演员阵容。
Object object = parser.parse(...);。object.toString()或object.getClass().getName()然后返回什么? -
@banzba:如果
parse()返回的是JSONObject而不是JSONArray,那么您需要处理更大的问题,因为您显示的 JSON 显然以数组而不是目的。尝试不同的 JSON 解析器