インターネットの急速な発展に伴い、データの処理と送信の重要性がますます高まっています。 JSON (JavaScript Object Notation) は、読み書きが簡単なテキスト形式でデータを送信するためにインターネットで広く使用されている軽量のデータ交換形式です。 golang は効率的なプログラミング言語として、データを JSON 形式に簡単に変換する方法も提供します。
golangではコードを書くことでデータをJSON形式に変換できます。具体的には、次の 2 つの方法があります。
方法 1: 標準ライブラリ encoding/json を使用する
標準ライブラリ encoding/json は、JSON 形式をエンコードおよびデコードするためのメソッドを提供します。まず、カスタム構造を定義する必要があります。そのフィールドは json タグでマークする必要があります。
type Person struct {
Name string json:"name"
Age int json:"age"
}
ここの json タグは、JSON でフィールドの名前を指定します。次に、JSON バイト配列を生成することで、Person タイプのデータを JSON 形式に変換できます。
import (
"encoding/json"
"fmt"
)
func main() {
person := person{名前: "トム"、年齢: 18}
データ、err := json.Marshal(person)
if err != nil {
fmt.Println("JSON Marshalling failed:", err) return
}
fmt.Printf("JSON data:\n%s\n", data)
}
出力結果:
JSON data:
{"name":"Tom","age":18}
Unmarshal 関数を使用して JSON を構造体にデコードすることもできます:
func main() {
jsonStr := {"name":"Tom","age":18}
var person Person
if err := json.Unmarshal([]byte (jsonStr) , &person); err != nil {
fmt.Println("JSON Unmarshalling failed:", err) return
}
fmt.Printf("デコードされた人物データ: % v\n", person)
}
出力結果:
デコードされた人物データ: {Name:Tom Age:18}
方法 2: サードパーティ ライブラリを使用する
サードパーティ ライブラリを使用して変換データの JSON へのフォーマットも非常に簡単です。より人気のあるライブラリには、gjson や jsoniter などのライブラリがあります。ここでは jsoniter を例として取り上げます。
最初に、方法 1 と同じようにカスタム構造を定義します。
次に、jsoniter ライブラリの Marshal 関数を使用して、標準ライブラリと同様に、パーソン タイプのデータを JSON 形式に変換できます。
import (
"github.com/ json- iterator/go"
"fmt"
)
func main() {
// struct
を定義 person := person{名前: "トム"、年齢: 18}
// データを json 形式に変換します
data, err := jsoniter.Marshal(person)
if err != nil {
fmt.Println("JSON Marshalling failed:", err) return
}
fmt.Printf("JSON data:\n%s\n", data)
}
出力結果:
JSON data:
{"name": "Tom ","age":18}
同様に、jsoniter ライブラリの Unmarshal 関数を使用して、JSON 形式から変換されたデータをデコードすることもできます:
func main() {
jsonStr := {"name":"Tom","age":18}
var person Person
if err := jsoniter.Unmarshal([]byte( jsonStr), &person); err != nil {
fmt.Println("JSON Unmarshalling failed:", err) return
}
fmt.Printf("デコードされた人物データ: % v\n", person)
}
出力結果:
デコードされた人物データ: {名前:トム 年齢:18}
概要
golang では、標準ライブラリのエンコーディング/json を使用して変換できます。データを JSON 形式に変換する場合、サードパーティのライブラリを使用して同じ変換を行うこともできます。ライブラリが異なればいくつかの点が異なるため、実際の状況に基づいて適切なライブラリを選択できます。どの方法を使用しても、JSON 形式の変換は非常に簡単です。
以上がgolangデータをjsonに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。