如何将JSON字符串转换为struct [英] How to convert JSON string to struct

查看:738
本文介绍了如何将JSON字符串转换为struct的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经开始在golang中工作,我正在尝试解析JSON字符串以构建结构,但无法正常工作.

I have start working in golang, I am trying to parse JSON string to struct but its not working.

JSON字符串:

dailies:[{" userAccessToken:" acessToken," uploadStartTimeInSeconds:1499744832," uploadEndTimeInSeconds:1499744832," callbackURL:" callbackurl}]}}

dailies":[{"userAccessToken":"acessToken","uploadStartTimeInSeconds":1499744832,"uploadEndTimeInSeconds":1499744832,"callbackURL":"callbackurl"}]}

type pingDataFormat struct {
    userAccessToken          string
    uploadStartTimeInSeconds int
    uploadEndTimeInSeconds   int
    callbackURL              string 
}

下面是将JSON字符串转换为结构的代码

Below is code which convert JSON String to structs

pingJSON := make(map[string][]pingDataFormat)

err := json.Unmarshal([]byte(pingData), &pingJSON)

if err != nil {
    panic(err)
}

fmt.Printf("\n\n json object:::: %v", pingJSON)

输出为:

json object :::: map [dailies:[{0 0}]]

json object:::: map[dailies:[{ 0 0 }]]

每日"没有数据,那么我应该遵循正确的方法进行解析以及在解析之后如何获取数据吗?

Here "dailies" dont have data, So do i following right approach to parse and how to get data after parse?

推荐答案

pingDataFormat中的字段需要导出(以大写字母开头)

The fields in pingDataFormat need to be exported (start with a capital letter)

type pingDataFormat struct {
    UserAccessToken          string `json:"userAccessToken"`
    UploadStartTimeInSeconds int    `json:"uploadStartTimeInSeconds"`
    UploadEndTimeInSeconds   int    `json:"uploadEndTimeInSeconds"`
    CallbackURL              string `json:"callbackURL"`
}

那应该可以解决您的问题

That should solve your problem

https://play.golang.org/p/Z3yszFl01L

这篇关于如何将JSON字符串转换为struct的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆