ホームページ > バックエンド開発 > Golang > golang json から yaml へ

golang json から yaml へ

PHPz
リリース: 2023-05-13 09:30:06
オリジナル
1143 人が閲覧しました

インターネットと人工知能技術の発展に伴い、データ形式の相互変換がますます一般的になってきました。この場合、強力なプログラミング言語である golang は、データ形式の変換を処理する点で優れています。この記事ではgolangを使ってjson形式をyaml形式に変換する方法を紹介します。

  1. 必要な golang ライブラリをインストールする

golang を使用して json を yaml に変換する前に、2 つの必要なライブラリ、つまり「gopkg.in/yaml. v3」をインストールする必要があります。および「encoding/json」ライブラリ。ターミナルに次のコマンドを入力してインストールできます。

go get gopkg.in/yaml.v3
go get encoding/json
ログイン後にコピー
  1. json データの定義

json を yaml に変換する前に、最初に json データを定義する必要があります。以下は簡単な json データの例です。

{
   "name": "张三",
   "age": 30,
   "gender": "男",
   "email": "zhangsan@example.com"
}
ログイン後にコピー
  1. json データを yaml 形式に変換します

golang では、上記 2 つのライブラリを使用して簡単に json データを変換できます。 yaml形式。以下に簡単なプログラム例を示します。

package main

import (
    "fmt"
    "encoding/json"
    "gopkg.in/yaml.v3"
)

type Person struct {
    Name   string `json:"name" yaml:"name"`
    Age    int    `json:"age" yaml:"age"`
    Gender string `json:"gender" yaml:"gender"`
    Email  string `json:"email" yaml:"email"`
}

func main() {
    jsonStr := `{"name": "张三", "age": 30, "gender": "男", "email": "zhangsan@example.com"}`
    var person Person
    json.Unmarshal([]byte(jsonStr), &person)

    yamlBytes, _ := yaml.Marshal(person)
    yamlStr := string(yamlBytes)
    fmt.Println(yamlStr)
}
ログイン後にコピー

上記のプログラムは、まず、json データ内のすべての属性を含む「person」という名前の構造体を定義します。次に、「json.Unmarshal」関数を使用して、jsonデータを構造体形式に変換します。次に、「yaml.Marshal」関数を使用して構造体をyaml形式に変換し、出力結果を出力します。

  1. 結果分析

上記のプログラムを実行すると、出力結果は次のようになります。

name: 张三
age: 30
gender: 男
email: zhangsan@example.com
ログイン後にコピー

構造体の属性が確認できることがわかります。無事にyaml形式に変換されました。

  1. 概要

この記事では、golang で「gopkg.in/yaml.v3」と「encoding/json」という 2 つのライブラリを使用して、json 形式を次の形式に変換する方法を紹介します。 yaml形式。このプロセスは非常にシンプルかつ効率的で、データ形式の変換に非常に役立ちます。この記事の導入により、読者は Golang における JSON から YAML への変換について十分に理解できたと思いますので、ぜひ実際に体験してみてください。

以上がgolang json から yaml への詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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