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

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

Patricia Arquette
リリース: 2024-11-30 22:59:12
オリジナル
941 人が閲覧しました

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

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