ホームページ > バックエンド開発 > Golang > Go で JSON キーを並べ替える方法: Python の「sort_keys」機能を複製する?

Go で JSON キーを並べ替える方法: Python の「sort_keys」機能を複製する?

Barbara Streisand
リリース: 2024-12-02 10:13:11
オリジナル
800 人が閲覧しました

How to Sort JSON Keys in Go: Replicating Python's `sort_keys` Functionality?

Go でソートされた JSON キー: Python の動作を複製する

Python では、json.dumps() 関数の sort_keys 引数を使用して、ソートされたキーを含む JSON を簡単に生成できます。ただし、Go の標準ライブラリには同等のオプションが提供されていないようです。 Go で同様の機能を実現するにはどうすればよいですか?

Go のキー順序付け動作

良いニュースは、Go エンコーディング/json パッケージがキー順序付けを内部で処理することです。その仕組みは次のとおりです。

  • マップ: キーは辞書順 (アルファベット順) にソートされます。
  • 構造体: キーは次の順序でマーシャリングされます。それらはstruct.

簡単な解決策

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

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