json如何使用Java访问JSONObject中的JSONArray?
在使用json-simple-1.1.1读取Java中的json文件时,我在访问JSONArray(“页面”)时遇到问题。罐子
我的json文件大小约为32MB,格式如下:
{
"id": "0912898213",
"pages": [
{
"pageUrl": "http://www.example0.com",
"results": [
{
"number": "1"
},
{
"number": "2"
}
]
},
{
"pageUrl": "http://www.example1.com",
"results": [
{
"number": "3"
},
{
"number": "4"
}
]
}
]
}
鉴于,访问此json文件的Java代码如下:
JSONParser parser=new JSONParser();
JSONObject pagesObject = (JSONObject) parser.parse(new FileReader(PATH_JSON_DataExtractor));
JSONArray jsonArray= (JSONArray) pagesObject.get("pages");
for(int i=0; i<jsonArray.size(); i++){}
问题:jsonArray始终为空。尽管如此,json格式是正确的,它应该按照预期工作!上面的Java代码适用于给定的示例json(也在上面),但Java代码不适用于32MB json文件。json文件的位置也是正确的,格式也是正确的,但我还是遇到了这个访问问题
在哪里访问json文件会出错?我一直在寻找类似的问题,并按照确切的说明访问json文件。但我只是迷失在正确的方向上,因此,我正在寻找使这段代码工作的建议。非常感谢您抽出时间
# 1 楼答案
现在终于可以工作了,但我仍然不知道问题的真正原因。我将该文件划分为两个单独的json文件,并在这两个文件上执行代码,结果成功了。现在我只要把它们合并就行了!这不是一个好的解决方案,但找不到其他方法
# 2 楼答案
使用这个:-
# 3 楼答案
下面的代码对我来说是完美的。你能检查一下指定的文件位置是否正确吗?还可以尝试读取id,比如
pagesObject.get("id")
这是我测试的内容。json。和你的一模一样
这是我对maven的依赖