반응형
구문 분석하기 전에 문자열이 유효한 json인지 확인하시겠습니까?
Ruby에서 문자열을 해석하기 전에 유효한 json인지 확인할 수 있는 방법이 있습니까?
예를 들어 다른 URL에서 정보를 가져오거나 json을 반환하거나 잘못된 응답을 반환할 수 있습니다.
내 코드:
def get_parsed_response(response)
parsed_response = JSON.parse(response)
end
체크하는 방법을 작성할 수 있습니다.
def valid_json?(json)
JSON.parse(json)
true
rescue JSON::ParserError, TypeError => e
false
end
이렇게 해석할 수 있습니다.
begin
JSON.parse(string)
rescue JSON::ParserError => e
# do smth
end
# or for method get_parsed_response
def get_parsed_response(response)
parsed_response = JSON.parse(response)
rescue JSON::ParserError => e
# do smth
end
생각합니다parse_json
돌아와야 한다nil
오류가 발생하지 않아야 하는 경우입니다.
def parse_json string
JSON.parse(string) rescue nil
end
unless json = parse_json string
parse_a_different_way
end
좀 더 짧은 변종을 제안해 드리겠습니다.
def valid_json?(string)
!!(JSON.parse(string)) rescue false
end
> valid_json?("test")
=> false
> valid_json?("{\"mail_id\": \"999129237\", \"public_id\": \"166118134802\"}")
=> true
언급URL : https://stackoverflow.com/questions/26232909/checking-if-a-string-is-valid-json-before-trying-to-parse-it
반응형
'source' 카테고리의 다른 글
AngularJS 글로벌http 폴링 서비스 (0) | 2023.03.20 |
---|---|
@RequiredArgsConstructor(onConstructor = @_(@Autowired)에 수식자를 추가할 수 있습니까? (0) | 2023.03.20 |
WordPress MVC는 호환됩니까? (0) | 2023.03.20 |
AngularJs - 스코프에서 동적 스코프 변수 설정 (0) | 2023.03.20 |
WordPress 내 새스 (0) | 2023.03.20 |