ホームページ >バックエンド開発 >Golang >`encoding/json` パッケージを使用して Go で JSON 配列を解析するにはどうすればよいですか?

`encoding/json` パッケージを使用して Go で JSON 配列を解析するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-30 22:59:12942ブラウズ

How to Parse JSON Arrays in Go using the `encoding/json` Package?

JSON パッケージを使用した Go での JSON 配列の解析

質問

エンコーディングを使用して Go で JSON 配列を表す文字列を解析するにはどうすればよいですか/json package?

type JsonType struct {
    Array []string
}

func main() {
    dataJson := `["1","2","3"]`
    arr := JsonType{}
    unmarshaled := json.Unmarshal([]byte(dataJson), &arr.Array)
    log.Printf("Unmarshaled: %v", unmarshaled)
}

Answer

提供されたコードは、Unmarshal からのエラー値を返します。 JSON 配列を正しく解析するには、次のコードを使用します。

err := json.Unmarshal([]byte(dataJson), &arr)

さらに、カスタム構造体の代わりにスライスを使用してコードを簡素化できます。

package main

import (
    "encoding/json"
    "fmt"
)

func main() {
    dataJson := `["1","2","3"]`
    var arr []string
    err := json.Unmarshal([]byte(dataJson), &arr)
    fmt.Println(err)
    fmt.Println(arr)
}

このコードは、出力:

<nil>
[1 2 3]

Background

にポインタを渡すアンマーシャルにより、関数はメモリ割り当てを削減または削除できます。さらに、処理コンテキストでは、呼び出し元が同じ値を繰り返し再利用して、割り当てをさらに節約することができます。

以上が`encoding/json` パッケージを使用して Go で JSON 配列を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。