Golang:json解组无法解包简单示例

Golang:json解组无法解包简单示例,go,Go,我无法解决这个问题。我有一个简单的结构,另一个结构使用它两次: type Range struct { Position int `json:"position"` Length int `json:"length"` } type TwoRanges struct { From Range `json:"from"` To Range `json:"to"` } 以及文件“ranges.json”中的以下json示例: 我尝试在以下代码中解组样本:

我无法解决这个问题。我有一个简单的结构,另一个结构使用它两次:

type Range struct {
    Position int `json:"position"`
    Length   int `json:"length"`
}

type TwoRanges struct {
    From Range `json:"from"`
    To   Range `json:"to"`
}
以及文件“ranges.json”中的以下json示例:

我尝试在以下代码中解组样本:

func main() {
    buffer, err := ioutil.ReadFile("ranges.json")
    if err != nil {
        log.Fatal(err)
    }
    var sample TwoRanges
    if err = json.Unmarshal(buffer, &sample); err != nil {
        log.Fatal(err)
    }

    fmt.Printf("%v\n", sample)
}
输出是

{{0 0} {737 10}}
不知何故,只有结构的一半被解包

  • 是虫子,还是我做错了什么
  • encoding/json包是否有“详细模式”,可以告诉我解组器出了什么问题?这不是我第一次对那个包裹有神秘的问题 请注意:


    “from:”应该是您的
    范围中的“from”。json

    json的格式不正确, 从远处看冒号: { “从:”:{

    在你的
    范围内,“from:”应该是“from”。json
    @simon_xia哇!谢谢你敏锐的眼睛!这解决了我的问题,至少现在是这样。请回答你的评论。你知道有什么工具可以帮我找到这样的错误(比如我上面想象的“详细模式”)?这不是语法错误,很抱歉我的知识有限,无法找到一个工具来避免此错误:(@user44168
    {{0 0} {737 10}}