2016-11-14 2 views
0

이클립스에서 json-simple.jar을 내 프로젝트에 추가하고 추가했습니다. 유일한 문제는 파서 (Parser)입니다. 이클립스는 "parser cannot be resolved"라고 말합니다. JSONObjectJSONArray은 정상적으로 작동합니다. 다음과 같이 수입json 파일을 읽으려고하는데 컴파일러에서 파서를 확인할 수 없음 JAVA

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

:

내가 파일을 읽으려고 오류 얻을 난 그냥 JSON을 사용하기 시작했습니다

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

를, 그래서 내가 뭔가를 누락 될 수 있습니다.

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

필자는 개인적으로 Jackson 라이브러리를 선호하므로 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); 
관련 문제