登录
首页 >  Golang >  Go问答

json 字符串无法使用 jsonapi.UnmarshalPayload 进行解组

来源:stackoverflow

时间:2024-03-17 15:15:21 433浏览 收藏

**JSON 字符串无法使用 jsonapi.UnmarshalPayload 解组的解决方案** 在尝试使用 jsonapi.UnmarshalPayload 解组 JSON 字符串时,作者遇到了一个错误。经过调查,发现问题出在将 &city 传递给函数而不是 city。根据 jsonapi 文档,函数应接收一个指针,因此更改为 city 后,解组成功。

问题内容

我正在尝试解组一个简单的杰森字符串:

type City struct {
    ID          int    `jsonapi:"primary,cities"`
    CountryCode string `jsonapi:"attr,countryCode"`
    Name        string `jsonapi:"attr,name"`
}

func TestGetCityByID(t *testing.T) {
    const mockCity = `{
        "data":{
            "type":"cities",
            "id":"123",
            "attributes":{
                "name":"Berlin",
                "countryCode":"DE"
            }
        }
    }`
    city := new(City)
    err := jsonapi.UnmarshalPayload(strings.NewReader(mockCity), &city)
    log.Info(err) //data is not a jsonapi representation of '**neustargeodata.City' 
    log.Info(city)
}

我看不出我的 json 字符串和编组城市对象的结果之间有任何区别,知道我做错了什么吗?预先非常感谢!


解决方案


好吧,我只需要将 &city 更改为 city!

本篇关于《json 字符串无法使用 jsonapi.UnmarshalPayload 进行解组》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>