我正在尝试从JSON API解析数据。
package main
import (
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
)
type Structure struct {
stuff []interface{}
}
func main() {
url := "https://api.coinmarketcap.com/v1/ticker/?start=0&limit=100"
response, err := http.Get(url)
if err != nil {
panic(err)
}
body, err := ioutil.ReadAll(response.Body)
if err != nil {
panic(err)
}
decoded := &Structure{}
fmt.Println(url)
err = json.Unmarshal(body, decoded)
if err != nil {
panic(err)
}
fmt.Println(decoded)
}
我希望代码返回接口对象列表。
我收到一个错误: panic: json: cannot unmarshal array into Go value of type main.Structure
该应用程序正在将JSON数组解组到结构。解组切片:
var decoded []interface{}
err = json.Unmarshal(body, &decoded)
考虑解组为[] map [string]字符串或[] Tick,其中Tick是
type Tick struct {
ID string
Name string
Symbol string
Rank string
... and so on
}
问题内容: json:无法将数组解组为类型的Go值 配置json: 和我的golang代码是这样的: json解析代码: 问题答案: 您的类型是造成问题的原因。摆脱它,它的工作原理是: 游乐场:https://play.golang.org/p/Prt1j7ePCZ。
问题内容: 我有结构 我确实在HTML页面中写入JSON字节。jQuery修改对象中的字段并使用jQueries对对象进行编码,并且jQuery将字符串发布到Go处理程序。 编码为字符串的字段。 已发送:已收到: 问题在于无法解组该JSON,因为不再是整数。 处理此类数据的最佳方法是什么?我不希望手动转换每个字段。我希望编写紧凑,无错误的代码。 行情还不错。JavaScript不能与int64配合
问题内容: 我有一项通过REST为我提供属性的服务。现在,我想将身体解组为属性结构。请查看此操场示例:单击。当我只有一个财产时,可以轻松将其编组为。但是,服务器发出的ACTUAL响应有所不同。我要解组的实际响应是这样的: 不幸的是,我不知道如何解组。有人可以指出正确的方向吗? 问题答案: 您需要解组一片属性:http : //play.golang.org/p/eRgjfBHypH
问题内容: 我得到以下数据: 通过websocket,我想将其解组到 使用以下命令解组它: 但我不断收到错误: json:无法将字符串解组到类型为feed.OrderBookItem的Go结构字段OrderBookResult.bids中 当我将结构更改为 有用。我希望将它们定义为它们是什么。我必须改变什么? 问题答案: 如错误所示: json:无法将字符串解组到类型为feed.OrderBook
问题内容: 我有以下JSON数据: 使用JSON-to-Go,我得到以下Go类型定义: 使用此代码(play.golang.org) 我得到错误 我不明白为什么。你能帮助我吗? 问题答案: JSON源是单个对象,但是您尝试将其解组为切片。将类型更改为(非切片): 然后输出(在Go Playground上尝试):
问题内容: 我正在尝试将json数据反序列化为模型类,但是失败了。这是我的工作: 这是我的模型的样子: 您可以看到我到达这里的Json:http : //api.worldbank.org/incomeLevels/LIC/countries? format=json 这是我得到的错误: 无法将JSON数组反序列化为“ Mvc4AsyncSample.Models.CountryModel”类型。