json - Golang json.Unmarshal 因任何明显原因无法正常工作
问题描述
我有json.Unmarshal
一个 Golang 文件,它解码从 Swift 程序发送的 JSON 数据。代码正确解码r.Body
为字符串(newStr 与我重新声明的字符串完全相同)。但是,这json.Unmarshal
条线似乎无缘无故地不起作用,甚至我的老师也想不通。有任何想法吗?
编码:
buf := new(bytes.Buffer)
buf.ReadFrom(r.Body)
newStr := buf.String()
fmt.Println(newStr)
var data Teacher
newStr = `{"body":"How are you all today?","id":283,"title":"Hello World","userID":238"}`
json.Unmarshal([]byte(newStr), &data)
fmt.Println(data.body)
我的结构:
// Teacher struct:
type Teacher struct {
body string `json:"body"`
id int `json:"id"`
title string `json:"title"`
userID int `json:"userID"`
}
有任何想法吗?我完全迷路了。谢谢!
解决方案
大写Teacher
结构字段的名称。
type Teacher struct {
Body string `json:"body"`
Id int `json:"id"`
Title string `json:"title"`
UserID int `json:"userID"`
}
推荐阅读
- reactjs - 仅在首次登录时出现的表单
- angular - 如何让 Ionic 应用程序在 Apache 网络服务器上运行
- android - 从android中的通知调用时异步任务未正确执行
- react-native - JSON解析错误:无法识别的令牌'<'反应原生
- c# - 如何按按钮名称长度调整标签大小
- java - Java一星算法寻路
- database - 如何将值推送到另一个对象或合并对象?
- reactjs - 反应钩子useEffect()清理仅用于componentWillUnmount?
- python - keras 图像语义分割给出重复输出(SEGNET 基本模型)
- javascript - 按用户分类过滤产品