英文:
GoLang Sruct to JSON not converting
问题
我正在尝试将我的结构体"Sim"转换为JSON,在填充数据后。
当我打印变量s时,它显示正确的信息,当我打印data时,它显示为空。
如何将结构体转换为JSON?
以下是简化的代码:
type Sim struct {
yr, ag, av, db, wd, st []int
withdrawal []string
}
func main() {
// 创建模拟数据
var s Sim
// 填充数据
s = simulate(15000, 60, 65, 90, 2015, 10.0, 140000.0, true, s)
// 转换为JSON,用于在网络上传输
data, err := json.Marshal(s)
if err != nil {
fmt.Println(err)
return
}
// 数据是正确的
fmt.Println(s)
// 输出: {}
fmt.Println(string(data))
}
英文:
I am trying to convert my struct "Sim" into JSON, after being filled with data.
When I print the var s, it shows correct information, when I print data, it shows blank.
How do I convert Struct to JSON?
Reduced Code Below:
type Sim struct {
yr, ag, av, db, wd, st []int
withdrawal []string
}
func main() {
// Creating simulation
var s Sim
// Filling with data
s = simulate(15000, 60, 65, 90, 2015, 10.0, 140000.0, true, s)
// Converting to JSON, for transmission over web
data, err := json.Marshal(s)
if err != nil {
fmt.Println(err)
return
}
// Data is correct
fmt.Println(s)
// Prints: {}
fmt.Println(string(data))
}
答案1
得分: 1
你好!以下是你要翻译的内容:
结构体中的字段以小写字母开头,因此它们不会被转换为JSON。将它们改为以大写字母开头。
package main
import "encoding/json"
import "fmt"
type Sim struct {
Yr, Ag, Av, Db, Wd, St []int
Withdrawal []string
}
func main() {
// 创建模拟数据
var s Sim
// 转换为JSON,用于在网络上传输
data, err := json.Marshal(s)
if err != nil {
fmt.Println(err)
return
}
// 数据是正确的
fmt.Println(s)
// 输出:{}
fmt.Println(string(data))
}
英文:
Fields in your structures starts with lower case so they are not marshalled to JSON. Make them start with upper case letter.
package main
import "encoding/json"
import "fmt"
type Sim struct {
Yr, Ag, Av, Db, Wd, St []int
Withdrawal []string
}
func main() {
// Creating simulation
var s Sim
// Converting to JSON, for transmission over web
data, err := json.Marshal(s)
if err != nil {
fmt.Println(err)
return
}
// Data is correct
fmt.Println(s)
// Prints: {}
fmt.Println(string(data))
}
<kbd>Playground</kbd>
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论