Arrays 在Go中,如何解组包含结构数组的字符串
我从API接收到的一个属性是一个包含结构数组的字符串,其中结构的属性被转义 我希望数据(输出对象)是MyStruct的一个简单数组,如下所示: [{“f”:“f-val”}] 但是,我得到的输出是一个空数组[] 有人能帮忙吗?我真的很感激Arrays 在Go中,如何解组包含结构数组的字符串,arrays,json,go,struct,unmarshalling,Arrays,Json,Go,Struct,Unmarshalling,我从API接收到的一个属性是一个包含结构数组的字符串,其中结构的属性被转义 我希望数据(输出对象)是MyStruct的一个简单数组,如下所示: [{“f”:“f-val”}] 但是,我得到的输出是一个空数组[] 有人能帮忙吗?我真的很感激 package main import "fmt" import "encoding/json" type MyStruct struct { F string } func main() { st
package main
import "fmt"
import "encoding/json"
type MyStruct struct {
F string
}
func main() {
stringResponse := `"[{\"f\":\"f-val\"}]"`
var data []MyStruct
json.Unmarshal([]byte(string(stringResponse)), &data)
fmt.Print(data)
}
下面是一个恰当的例子:
package main
import (
"encoding/json"
"strconv"
)
func main() {
s, e := strconv.Unquote(`"[{\"f\":\"f-val\"}]"`)
if e != nil {
panic(e)
}
var (
b = []byte(s)
m []struct{F string}
)
json.Unmarshal(b, &m)
println(m[0].F == "f-val")
}
下面是一个恰当的例子:
package main
import (
"encoding/json"
"strconv"
)
func main() {
s, e := strconv.Unquote(`"[{\"f\":\"f-val\"}]"`)
if e != nil {
panic(e)
}
var (
b = []byte(s)
m []struct{F string}
)
json.Unmarshal(b, &m)
println(m[0].F == "f-val")
}
检查
json.Unmarshal
返回的错误。无论如何,您的json格式不正确。请检查json.Unmarshal
返回的错误。无论如何,您的json格式不正确:您可能是对的,但这就是我在API响应中得到的{\'f\':\'f-val\'}您可能是对的,但这就是我在API响应中得到的{\'f\':\'f-val\'}