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