-1
아는대로 모든 JSON 필드 이름은 문자열 값입니다. 그러나 문자열인지 확인하기 위해 JSON의 "키"에서 문자열 검사를 수행하는 코드 스 니펫이 발생했으며 그렇지 않은 경우 예외가 발생합니다. 그것은 다음과 같습니다 :JSON 필드를 문자열로 사용할 수 있습니까?
if (!(key instanceof String)){
throw new exception();}
이 검사가 필요합니까?
편집 :
예를 들어,
while (jp.nextToken() == JsonToken.FIELD_NAME){
String key = jp.getCurrentName();
}
이 코드는 문자열 JSON 토큰에 진행됩니다, 그래서 JSON이되도록 문자열이 아닌 fieldName에 포함되어 수 있는지 궁금 잭슨 구문 분석기는 필드 이름을 건너 뜁니다. JSON official website 가입일
? 나는 GSON에서 모든 키가 문자열이어야 함을 알고있다. – Jeeter
@Jeeter "GSON에서 모든 키는 문자열이어야한다"는 뜻인가? GSON 파서는 키가 문자열이라고 가정하고 그렇지 않으면 예외를 던질 것인가? 나는 잭슨 도서관을 사용하여 건물을 짓고 있는데, 그것은 또한 키가 String이 될 것이라고 가정하는 것으로 보인다. 왜냐하면'getCurrentName'은 객체가 아닌 문자열을 반환 할 것이기 때문에 잭슨이 비 문자열 필드 이름을 처리하는 방법을 궁금해하고있다. 유효한 JSON은 문자열이 아닌 필드 이름을 포함 할 수도 있습니다. –
사용중인 파서를 표시 할 수 있습니까? '열쇠'가 무엇인지, 어떻게 선언되었는지, 무엇을 만들었는지 보여주십시오. –