-1
이 64 기반 JSON 문자열을 변환하고 flexjson API를 사용하여받은 JSON을 POJO로 변환하려고합니다.Java : 64 기반 문자열 디코딩/구문 분석에 실패했습니다.
첫 번째 try 블록은 직접 JSON을 문자열로 변환하여 성공한 객체로 변환합니다. 이 문자열은 온라인 도구를 사용하여 디코딩됩니다.
이제 두 번째 try 블록에서 유사한 방식으로 64 기반 문자열을 객체로 변환하려고 시도하지만 예외를 던지는 실행에서 64based 문자열을 변환하려고 시도합니다. flexjson.JSONException : 문자에서 ','또는 ']' 10
try {
AsyncResponseDO asyncResponseDO = new JSONDeserializer<AsyncResponseDO>().deserialize("{\"relatesTo\":\"7_Sept2017_IF01\"}", AsyncResponseDO.class);
System.out.println(asyncResponseDO.getRelatesTo());
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
AsyncResponseDO asyncResponseDO = new JSONDeserializer<AsyncResponseDO>().deserialize(Base64.decodeBase64("eyJyZWxhdGVzVG8iOiI3X1NlcHQyMDE3X0lGMDEifQ==".getBytes()).toString(), AsyncResponseDO.class);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
POJO 클래스 :
public class AsyncResponseDO {
private String relatesTo;
public String getRelatesTo() {
return relatesTo;
}
public void setRelatesTo(String relatesTo) {
this.relatesTo = relatesTo;
}
}
라고? 'Base64.decodeBase64'는 간단한 텍스트 리터럴/문자열을 매개 변수로 사용하지 않습니까? – CBroe
@CBroe 없음, 단지 바이트 [] 바이트 [] org.apache.commons.codec.binary.Base64.decodeBase64 (바이트 []는 arg0) – user3423446
@CBroe 바이트 [] decodeBase64 (문자열 base64String)를 구할 허용 1.4부터는 1.2입니다. – user3423446