Python では、json.dumps() 関数の sort_keys 引数を使用して、ソートされたキーを含む JSON を簡単に生成できます。ただし、Go の標準ライブラリには同等のオプションが提供されていないようです。 Go で同様の機能を実現するにはどうすればよいですか?
良いニュースは、Go エンコーディング/json パッケージがキー順序付けを内部で処理することです。その仕組みは次のとおりです。
Go でソートされたキーを使用して JSON を生成するには、組み込みの順序付け動作を利用できます。
次のことを考慮してください。 JSON オブジェクト:
{ "name": "John Smith", "age": 30, "city": "New York" }
このオブジェクトは、Go で次のコマンドを使用して作成できます。 map:
import ( "encoding/json" ) type Person struct { Name string Age int City string } func main() { person := Person{ Name: "John Smith", Age: 30, City: "New York", } jsonBytes, _ := json.Marshal(person) jsonStr := string(jsonBytes) // Output sorted JSON println(jsonStr) }
この例では、マップ キーが辞書順に並べ替えられ、次のようになります。
{ "age": 30, "city": "New York", "name": "John Smith" }
以上がGo で JSON キーを並べ替える方法: Python の「sort_keys」機能を複製する?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。