私はtrial.go
にコードスニペットを次のよう書かれている:コマンドライン入力を正しくアンマーシャルする方法は?
type Mine struct{
A string `json:"a"`
}
func main(){
s := Mine{}
v := os.Args[1]//`{"a":"1"}`
fmt.Println(v)
fmt.Println(reflect.TypeOf(v))
json.Unmarshal([]byte(v), &s)
fmt.Println(s)
}
私は以下のように、このファイルを実行しています:
go run trial.go `{"A":"1"}`
しかし、私はs
に何かを得ることはありません。これは常に空白の構造体です。
私はここで間違っていますか?
Unmarshalからエラーをチェックしてみましたか? – JimB
実際には「無効な文字」のようなさまざまなエラーがありますが、オブジェクトキーの文字列の先頭を探していますが、@iczaの回答が私のために働いたと思います。私は、上記のコードスニペットをより大きい入力文字列が必要なより大きなものに使用しようとすると、コマンドライン入力が私にとって良い選択肢にはならないと感じています。私は入力を受け入れるより良い方法を見つける必要があります。 –
私はあなたが( "A": "1")バックチック " –