当前位置: 首页 > 面试题库 >

我的结构没有编组到json中

凤棋
2023-03-14
问题内容

我在Mac OS X 10.8.2上使用Go
1.0.3,并且正在尝试使用该json软件包,试图将结构编组为json,但是我一直得到一个空的{}json对象。

err值是零,所以没有什么根据的是错误的json.Marshal功能,并且该结构是正确的。为什么会这样呢?

package main

import (
  "encoding/json"
  "fmt"
)

type Address struct {
  street string
  extended string
  city string
  state string
  zip string
}

type Name struct {
  first string
  middle string
  last string
}

type Person struct {
  name Name
  age int
  address Address
  phone string
}

func main() {
  myname := Name{"Alfred", "H", "Eigenface"}
  myaddr := Address{"42 Place Rd", "Unit 2i", "Placeton", "ST", "00921"}
  me := Person{myname, 24, myaddr, "000 555-0001"}

  b, err := json.Marshal(me)

  if err != nil {
    fmt.Println(err)
  }

  fmt.Println(string(b))    // err is nil, but b is empty, why?
  fmt.Println("\n")
  fmt.Println(me)           // me is as expected, full of data
}

问题答案:

您必须将要封送的字段公开。像这样:

type Address struct {
  Street string
  Extended string
  City string
  State string
  Zip string
}

errnil因为所有的出口领域,在这种情况下有没有,是正确编组。

工作示例:https :
//play.golang.org/p/9NH9Bog8_C6

查看文档http://godoc.org/encoding/json/#Marshal



 类似资料:
  • 我关注了 json 根据给出的答案,我尝试了以下 我得到一个空数组,有如下错误。有什么建议吗? json:无法将数组解组为map[string]*json.RawMessage类型的Go值

  • 问题内容: 我想将以下JSON解组到结构中: 我试图以各种方式修改,但是结构始终为空: 输出: 过去使用的JSON没有括号,因此我怀疑问题与它们有关。 有人可以帮忙吗? https://play.golang.org/p/pymKbOqcM- 问题答案: 发生这种情况是因为其他包()无法访问私有字段(即使具有反射)。在私有语言中,私有字段是以小写字母开头的字段。要解决此问题,请使您的结构包含公共字

  • 问题内容: 我正在一个项目中使用JSON作为创建Java对象的配置框架。这也是我来自CF / PHP / JS等方面多年经验的第一个专业Java项目。 在将JSON转换为Java时,我能找到的所有资源都基于以下想法:您必须先在Java中手动构建对象,即POJO,然后使用JSON进行填充。 作为网络语言的资深人士,我对此想法感到窒息。我发现编译后的语言起着不同的作用,但是我认为从命令行到机器语言的共

  • 问题内容: 我是初学者,尝试解组以下json字符串 这是结构 这是功能 该函数正在返回 问题答案: 您的JSON输入不是的一部分,因为还有另一个JSON对象包装器,并且值属于属性。 更深入地讲,是一个JSON数组,其中的对象持有不同的键,其值可由表示。 因此,要完全描述您的JSON,您需要某种“动态”类型。例如,地图就是这种动态类型。 因此,您的原始JSON输入可以使用类型完全建模。这是一张地图,

  • 我是go初学者,正在尝试解组下面的json字符串 下面是这个结构 这是函数 函数正在返回

  • 问题内容: http://play.golang.org/p/f6ilWnWTjm 我正在尝试解码以下字符串,但仅获取空值。 如何在Go中解码嵌套的JSON结构? 我想将以下内容转换为地图数据结构。 问题答案: 在Go中使用嵌套结构来匹配JSON中的嵌套结构。 这是一个如何处理示例JSON的示例: 游乐场链接 您还可以对内部结构使用匿名类型: 游乐场链接 或外部和内部结构: 游乐场链接 如果您不知