Json 无法将对象解组为[]uint8类型的Go值
我是新来的。我有以下代码:Json 无法将对象解组为[]uint8类型的Go值,json,go,unmarshalling,Json,Go,Unmarshalling,我是新来的。我有以下代码: package main import ( "encoding/json" "fmt" ) func main() { byt := []byte(`{"num":6.13,"strs":["a","b"]}`) dat := []byte(`{"num":7.13,"strs":["c","d"]}`) if err := json.Unmarshal(byt, &dat); err != nil {
package main
import (
"encoding/json"
"fmt"
)
func main() {
byt := []byte(`{"num":6.13,"strs":["a","b"]}`)
dat := []byte(`{"num":7.13,"strs":["c","d"]}`)
if err := json.Unmarshal(byt, &dat); err != nil {
panic(err)
}
fmt.Println(dat)
}
获取错误:
无法“将对象解组为[]uint8类型的Go值”
我如何解决这个问题?您有两个JSON输入,并且您正在尝试将一个解组到另一个。那没有任何意义 使用类型(struct)对JSON输入(对象)建模,并将其解组。例如:
type Obj struct {
Num float64 `json:"num"`
Strs []string `json:"strs"`
}
func main() {
byt := []byte(`{"num":6.13,"strs":["a","b"]}`)
var obj Obj
if err := json.Unmarshal(byt, &obj); err != nil {
panic(err)
}
fmt.Println(obj)
}
输出(在上尝试):
您有2个JSON输入,并且您正在尝试将一个解组到另一个。那没有任何意义 使用类型(struct)对JSON输入(对象)建模,并将其解组。例如:
type Obj struct {
Num float64 `json:"num"`
Strs []string `json:"strs"`
}
func main() {
byt := []byte(`{"num":6.13,"strs":["a","b"]}`)
var obj Obj
if err := json.Unmarshal(byt, &obj); err != nil {
panic(err)
}
fmt.Println(obj)
}
输出(在上尝试):
我想你是想做这样的事: 包干管
import (
"encoding/json"
"fmt"
)
func main() {
var dat interface{}
byt := []byte(`{"num":6.13,"strs":["a","b"]}`)
if err := json.Unmarshal(byt, &dat); err != nil {
panic(err)
}
fmt.Println(dat)
}
您试图做的事情毫无意义,因为您试图将两个JSON对象拆封为另一个对象。我想您的意思是这样做的: 包干管
import (
"encoding/json"
"fmt"
)
func main() {
var dat interface{}
byt := []byte(`{"num":6.13,"strs":["a","b"]}`)
if err := json.Unmarshal(byt, &dat); err != nil {
panic(err)
}
fmt.Println(dat)
}
您试图做的事情毫无意义,因为您试图将两个JSON对象解组为另一个对象。您到底想做什么?你的预期产出是什么?你到底想做什么?你的预期产量是多少?