在python中,您可以获取json对象并从中获取特定项目,而无需声明结构,将其保存到结构中,然后像Go中那样获取值。有没有一种包装或更简单的方法来存储Go中来自json的特定值?
蟒蛇
res = res.json() return res['results'][0]
走
type Quotes struct { AskPrice string `json:"ask_price"` } quote := new(Quotes) errJson := json.Unmarshal(content, "e) if errJson != nil { return "nil", fmt.Errorf("cannot read json body: %v", errJson) }
您可以解码为map[string]interface{},然后按键获取元素。
map[string]interface{}
data := make(map[string]interface{}) err := json.Unmarshal(content, &data) if err != nil { return nil, err } price, ok := data["ask_price"].(string); !ok { // ask_price is not a string return nil, errors.New("wrong type") } // Use price as you wish
通常首选结构,因为它们对类型更明确。您只需要在所需的JSON中声明字段,而无需像使用映射(隐式编码/ json处理)那样键入assert值。