我是一个新手,正在尝试编写一个简单的应用程序,从大学校中提取一些学校数据。组织。json数据如下所示:
{ "schools": { "school": [ { "gsId": 1, "name": "Catholic School", "type": "private", "gradeRange": "PK-9", "enrollment": 39, "parentRating": 4, "city": "Denver", "state": "CO", "address": "111 Main St., \nDenver, CO 80100", "phone": "(720) 555-1212", "fax": "(720) 555-1212", "website": "http://www.myschool.org", "ncesId": "1234567", "lat": 30.519446, "lon": -105.71314, "overviewLink": "http://www.greatschools.org/colorado/Denver/1-Catholic-School/?s_cid=gsapi", "ratingsLink": "http://www.greatschools.org/school/rating.page?state=CO&id=1&s_cid=gsapi", "reviewsLink": "http://www.greatschools.org/school/parentReviews.page?state=CO&id=1&s_cid=gsapi", "schoolStatsLink": "http://www.greatschools.org/cgi-bin/CO/otherprivate/1" }...
我的结构如下所示:
type SchoolStruct struct { GsId int Name string SchoolType string GradeRange string Enrollment int ParentRating int City string State string Address string Phone string Fax string Website string NcesId string Lat float64 Lon float64 OverviewLink string RatingsLink string ReviewsLink string SchoolStatsLink string } type SchoolsStruct struct { Schools []SchoolStruct }
当我运行代码时,我得到“json:无法将对象解组为[]main.SchoolStruct类型的Go值”
我正在使用gopencils库来提出我的请求,并成功地将其用于非常简单的请求。你知道我可能做错了什么吗?
有几个问题。首先,您试图解码一个学校,但数据是学校,它有一个学校的成员(数组)。
另一个问题是您的名称不匹配<代码>GsId!=gsid
除非您通过使用struct标记告诉Go。
请尝试解码到SchoolResponseData:
type SchoolResponseData struct {
Schools struct {
School []struct {
Address string `json:"address"`
City string `json:"city"`
Enrollment float64 `json:"enrollment"`
Fax string `json:"fax"`
GradeRange string `json:"gradeRange"`
GsId float64 `json:"gsId"`
Lat float64 `json:"lat"`
Lon float64 `json:"lon"`
Name string `json:"name"`
NcesId string `json:"ncesId"`
OverviewLink string `json:"overviewLink"`
ParentRating float64 `json:"parentRating"`
Phone string `json:"phone"`
RatingsLink string `json:"ratingsLink"`
ReviewsLink string `json:"reviewsLink"`
SchoolStatsLink string `json:"schoolStatsLink"`
State string `json:"state"`
Type string `json:"type"`
Website string `json:"website"`
} `json:"school"`
} `json:"schools"`
}
我在redis实现中使用spring缓存,我有以下方法 当我第一次访问该方法时,数据以json格式缓存到redis中。 但是当我第二次访问它时,它会出现一些错误,如下所示: Java语言util。同时发生的执行例外:组织。springframework。数据redis。序列化程序。SerializationException:无法读取JSON:无法构造org的实例。springframework。
问题内容: 我正在尝试将json数据反序列化为模型类,但是失败了。这是我的工作: 这是我的模型的样子: 您可以看到我到达这里的Json:http : //api.worldbank.org/incomeLevels/LIC/countries? format=json 这是我得到的错误: 无法将JSON数组反序列化为“ Mvc4AsyncSample.Models.CountryModel”类型。
问题内容: 我在反序列化一些json数据,获取InvalidCastExceptions之类的问题。 谁能指出我正确的方向? 这是我要反序列化的json; [{“ OrderId”:0,“名称”:“摘要”,“ MaxLen”:“ 200”},{“ OrderId”:1,“名称”:“详细信息”,“ MaxLen”:“ 0”}] 这是我的代码; 问题答案: OrderId是json中的一个Int(请注
我需要将下面两个foramt反序列化为单个代码中的 嵌套异常是org.springframework.http.converter.httpmessageNotreadableException:JSON解析错误:无法反序列化字符串类型的值“2020-04-23t10:51:24.238+01:00”:com.fasterxml.jackson.databind.exc.invalidformat
问题内容: 这是我的课 最初的一个实际上需要转换为良好的json数据。这是最初的坏人 这是我的json数据,我无法反序列化。即使更改,我仍会收到默认值 我的自定义封面 问题答案: 您可以使用json.net以显示的格式对a进行反序列化和重新序列化,只要您使用custom即可。这是必需的,因为默认情况下,对象集合在JSON数组之间进行序列化,但是在JSON中,对象集合以单个对象的紧凑形式进行序列化,