2014-03-03 3 views
0

클래스가 있고 클래스를 인스턴스화하기 위해 JSON 문자열을 구문 분석하려고합니다.Gson이 파일에서 변수를 파싱했지만 성공적으로 파싱하지 못했습니다.

JSON :

{'walk': ['walk_1','walk_2'], 'jump': ['jump']} 

등급 :

import java.util.ArrayList; 

public class AnimationSheet { 

    public ArrayList<String> walk, jump; 

} 

기능 :

Gson json = new Gson(); 
sheet = json.fromJson(jsonFile, AnimationSheet.class); 

다음 코드와 JSON 파일입니다 그러나이 오류 제공합니다

Exception in thread "LWJGL Application" com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 

을하지만 내가 변수에서 구문 분석하면 다음과 같이 성공적으로 구문 분석 :

Gson json = new Gson(); 
String txt = "{'walk': ['walk_1','walk_2'], 'jump': ['jump']}"; 
sheet = json.fromJson(txt, AnimationSheet.class); 

이 뒤에 이유는 무엇입니까? 어떻게 해결할 수 있습니까?

감사합니다.

+1

'jsonFile'의 값은 무엇입니까? – njzk2

+1

'jsonFile'의 종류는 무엇입니까? – nikis

+0

당신은 jsonFile – Devrim

답변

1

내 생각 엔 파일에 txt 문자열이 포함되지 않았을 것입니다. 메시지를 보면 파일에 기대했던 것 대신 처음에 파일에 길잃은 문자열이있는 것 같습니다. 예제 문자열의 객체는 { 또는 해시,지도 또는 사전입니다. 명령 줄에 파일의 내용이 println이라면 정확히 동일한 문자가 없기를 기대합니다.

+0

감사합니다! 파일의 시작 부분에 편집기에 표시되지 않은 다른 문자가있는 것으로 보입니다. –

관련 문제