Golang で文字列の JSON 形式を検証するにはどうすればよいですか?

DDD
リリース: 2024-11-14 22:06:02
オリジナル
763 人が閲覧しました

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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート