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 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测