Golang에서 문자열의 JSON 형식을 어떻게 확인할 수 있나요?

DDD
풀어 주다: 2024-11-14 22:06:02
원래의
764명이 탐색했습니다.

How Can I Validate the JSON Format of a String in Golang?

JSON 형식 유효성 검사

프로그래밍 영역에서 데이터 교환 관리에는 JSON 문자열 처리가 포함되는 경우가 많습니다. 적절한 처리 및 해석을 보장하려면 주어진 문자열이 JSON 형식을 준수하는지 확인해야 합니다. 이 기사에서는 Go에 내장된 JSON 패키지를 사용하여 JSON 문자열을 검증하는 방법을 소개합니다.

구현

질문에 언급된 대로 작업은 함수를 생성하는 것입니다. checkJson은 문자열을 입력으로 받아 JSON 형식인지 확인합니다. 다음 함수는 이러한 목적으로 Go의 json.Unmarshal 함수를 활용합니다.

import (
    "encoding/json"
)

// isJSON validates if a string is in JSON format.
func isJson(input string) bool {
    var js json.RawMessage
    return json.Unmarshal([]byte(input), &js) == nil
}
로그인 후 복사

이 함수는 먼저 []byte(input)를 사용하여 입력 문자열을 바이트 배열로 변환합니다. 그런 다음 바이트 배열을 json.RawMessage 객체로 역마샬링하려고 시도합니다. 역정렬화에 성공하면 문자열이 JSON 형식임을 나타내고 함수는 true를 반환합니다. 그렇지 않으면 false를 반환합니다.

사용 예

isJson 함수를 사용하면 JSON 문자열을 쉽게 확인할 수 있습니다.

jsonStr := `{"name": "John Doe", "age": 30}`
if isJson(jsonStr) {
    fmt.Println("It's JSON!")
} else {
    fmt.Println("It's not JSON.")
}
로그인 후 복사

참고

isJson이라는 점을 기억하는 것이 중요합니다. 함수는 문자열이 JSON 형식인지만 확인합니다. JSON 문자열의 구조나 스키마의 유효성을 검사하지 않습니다. 애플리케이션에 더 엄격한 유효성 검사가 필요한 경우 추가 검사를 구현하거나 JSON 스키마 유효성 검사 라이브러리를 사용해야 할 수도 있습니다.

위 내용은 Golang에서 문자열의 JSON 형식을 어떻게 확인할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿