Golang を使用した JSON 文字列内の重複属性の検出
この記事では、Golang を使用して JSON 文字列内の重複属性を特定することに焦点を当てています。 JSON (JavaScript Object Notation) は、データ交換に広く使用されているデータ形式です。重複の検出は、データの整合性を維持し、一貫した処理を保証するために不可欠です。
JSON デコーダーとカスタム重複検出関数の使用
重複属性を検出するには、json.Decoder が使用されます。 JSON 文字列を走査します。 check 関数が導入されました。この関数は、JSON 構造を再帰的に探索し、キーと値の重複を検査します。
実装の概要
使用例
指定された JSON 文字列を検討します:
{"a": "b", "a":true,"c": ["field_3 string 1","field3 string2"]}
重複キーを出力するには:
func printDup(path []string) error { fmt.Printf("Duplicate %s\n", strings.Join(path, "/")) return nil } data := ... // JSON string if err := check(json.NewDecoder(strings.NewReader(data)), nil, printDup); err != nil { log.Fatal(err) }
重複をキャッチエラー
最初の重複キーが見つかったときに JSON トラバーサルを停止するには:
var ErrDuplicate = errors.New("duplicate") func dupErr(path []string) error { return ErrDuplicate } data := ... // JSON string if err := check(json.NewDecoder(strings.NewReader(data)), nil, dupErr); err == ErrDuplicate { fmt.Println("found a duplicate") }
結論
この手法は、カスタマイズ可能な、 JSON 文字列内の重複属性を検出するための堅牢なアプローチ。 json.Decoder を活用し、カスタムの重複処理関数を定義することで、開発者はデータの整合性を維持し、一貫した JSON 処理を保証できます。
以上がGolang は JSON 文字列内の重複する属性をどのように検出して処理できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。