У меня возникли проблемы в доступе к JSONArray («страницы») при чтении файла JSON в Java с помощью JSON-простой-1.1.1.jarКак получить доступ к JSONArray в JSONObject с помощью Java?
Мой файл JSON составляет около 32 Мб размер и формат как показано ниже:
{
"id": "0912898213",
"pages": [
{
"pageUrl": "http://www.example0.com",
"results": [
{
"number": "1"
},
{
"number": "2"
}
]
},
{
"pageUrl": "http://www.example1.com",
"results": [
{
"number": "3"
},
{
"number": "4"
}
]
}
]
}
Принимая во внимание, код Java, чтобы открыть файл в формате JSON, как показано ниже:
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 не работает с 32-мегабайтным json-файлом. Расположение файла json также верное, и формат также верен, но все же я получаю эту проблему доступа!
Где я ошибаюсь, чтобы получить доступ к json-файлу? Я просматривал похожие вопросы, и я выполнил точные инструкции по доступу к json-файлу. Но я просто потерял право на это, поэтому, ища предложения, чтобы этот код работал. Спасибо вам большое за ваше время!
Meaby, создающий класс, который представляет объект JSON, упрощает его для вас. parse имеет метод, который получает строку и класс представленного объекта. Вы уверены, что он открывает файл? Meaby проблема заключается в анализе содержимого, а не в открытии файла. – aSoler
Нет, он даже не читает элемент «id», он возвращает мне нуль для этого! – Amir
Хорошо. Почему бы не попытаться прочитать файл и сохранить его в строке, обычным способом, а затем разобрать? – aSoler