2016-11-14 2 views
0

Я загрузил и добавил json-simple.jar в свой проект в eclipse. Единственная проблема с Parser, Eclipse говорит "parser cannot be resolved". Пока JSONObject и JSONArray работают нормально.Я пытаюсь прочитать json-файл, но компилятор говорит, что Parser не может быть разрешен JAVA

Я получаю сообщение об ошибке при попытке прочитать файл:

JSONParser parser = new JSONParser(); 
JSONArray jArray = (JSONArray) parser.parse(new FileReader("comments.json")); 

импортируемого следующим образом:

import org.json.simple.JSONArray; 
import org.json.simple.JSONObject; 
import org.json.simple.parser.JSONParser; 
import org.json.simple.parser.ParseException; 

Я только начал использовать JSON, так что я мог бы быть что-то отсутствует.

comments.json файл этого формата:

{ 
"postId": 1, 
"id": 1, 
"name": "id labore ex et quam laborum", 
"email": "[email protected]", 
"body": "laudantium enim quasi est" 
} 
+1

Что вы ожидаете 'parser' быть ? – SLaks

+0

Я отредактировал сообщение, забыл добавить часть инициализации –

+0

Какое сообщение об ошибке? – SLaks

ответ

0

Я лично предпочитаю библиотеку Джексона, поэтому я не так хорошо знаком с JSON.simple. Считаете ли вы создание для анализатора ContainerFactory()? http://juliusdavies.ca/json-simple-1.1.1-javadocs/org/json/simple/parser/ContainerFactory.html

Кроме того, ваш "comment.json" просто JSONObject(), поэтому нет необходимости в предоставлении в дополнительных накладных JSONArray()

Может не дать этому выстрел:

ContainerFactory cf = new ContainerFactory(); 
Map jsonContainer = cf.createObjectContainer(); 

JSONParser parser = new JSONParser(); 
JSONObject jObj = (JSONObject) parser.parse(new FileReader("comments.json"), jsonContainer); 
0

Я не проверял, но, как ваш файл JSON имеет только один объект, я предпочитаю использовать JSONObject вместо JSONArray:

Object obj = parser.parse(new FileReader("comments.json")); 
    JSONObject jsonObject = (JSONObject) obj; 
    String name = (String) jsonObject.get("name"); 
    System.out.println(name); 
Смежные вопросы