dongzg2006 2018-08-31 13:27
浏览 47
已采纳

为什么JSON值是空的

Can you see why json values dont get saved:

Update: And if you would like to explain why this is downgraded as "Off topic"?

package main

import (
    "encoding/json"
    "fmt"
    "io/ioutil"
)

type UsedInContext struct {
    UsedIn      string `json:"usedin"`
    ContextName string `json:"contextname"`
}

type ContextData struct {
    usedInContext []UsedInContext `json:"usedincontext"`
}

func saveData() {

    var jsonBlob = []byte(`{
        "usedincontext": 
        [
            {"usedin":"local", "contextname":"desktop"}
        ]
    }`)

    usedInContext := UsedInContext{}
    err := json.Unmarshal(jsonBlob, &usedInContext)
    if err != nil {
    }

    usedInContextJson, _ := json.Marshal(usedInContext)
    err = ioutil.WriteFile("data.json", usedInContextJson, 0644)
    fmt.Printf("%+v", usedInContext)
}

I get the following:

{"usedin":"","contextname":""}
  • 写回答

1条回答 默认 最新

  • dongrong8972 2018-08-31 13:46
    关注

    You unmarshal your document to the type UsedInContext, while it matches the schema for ContextData:

    type ContextData struct {
        UsedInContext []UsedInContext `json:"usedincontext"` // exported
    }
    
    var data ContextData
    json.Unmarshal(jsonBlob, &data)
    fmt.Printf("%+v", data)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器