エンコーディングを使用して 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) }
提供されたコードは、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]
にポインタを渡すアンマーシャルにより、関数はメモリ割り当てを削減または削除できます。さらに、処理コンテキストでは、呼び出し元が同じ値を繰り返し再利用して、割り当てをさらに節約することができます。
以上が`encoding/json` パッケージを使用して Go で JSON 配列を解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。