json - GoLang 结构到 JSON 不转换

标签 json struct go

<分区>

在填充数据后,我正在尝试将我的结构“Sim”转换为 JSON。

当我打印 var 时,它显示正确的信息,当我打印数据时,它显示空白。

如何将 Struct 转换为 JSON?

下面的简化代码:

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))
}

最佳答案

结构中的字段以小写字母开头,因此它们不会编码为 JSON。让它们以大写字母开头。

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))
}

Playground

JSON serialization in GO

关于json - GoLang 结构到 JSON 不转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33911712/

相关文章:

javascript - forEach 中的 If/Else 仅添加段落而不添加标题,但在本地它正在工作(React 和 Editor.js)

ios - JSON 数组 Swift 的索引

json - json 模式中的对象重用和组合

c - 为结构元素数组初始化 C 结构中的一个成员

macos - Google Go HelloWorld 教程出错

http - 使用 Go 时更新生产服务器上的代码

javascript - 如何从 $.getJSON 函数返回变量

matlab - 对结构的所有字段执行操作

mongodb - 仅通过有效负载更新

c - C中头文件中带有struct参数的函数声明