Golang解码字符串数组

时间:2017-08-24 07:33:29

标签: arrays json go unmarshalling

我正在尝试解码golang中的字符串数组,并且无法在golang中解组这个json

"{\"keys\":[\"CovePDF:metadata:deadlineDate:asfsdbdjh\",\"CovePDF:metadata:endedOnDate:asfsdbdjh\",\"CovePDF:metadata:moderators:asfsdbdjh\",\"CovePDF:metadata:reviewers:asfsdbdjh\",\"CovePDF:metadata:title:asfsdbdjh\",\"CovePDF:metadata:initiator:asfsdbdjh\",\"CovePDF:metadata:startOnDate:asfsdbdjh\"]}"

我的结构看起来像这样:

type Keys struct {
     keys []string `json:"keys"`
}

而不是尝试

    keys := args[0] 
    ks := Keys{}
    err0 := json.Unmarshal([]byte(keys), &ks)

我在日志中遇到错误:

  

错误:JSON输入的意外结束   错误:解组JSON输入的意外结束   错误:JSON输入的意外结束

1 个答案:

答案 0 :(得分:1)

JSON包只能处理导出的struct字段(例如以大写字母开头)。这就是您使用JSON标记的原因,以便您可以更改要使用的标记名称/案例。

否则,这可以像您期望的那样工作。见例:

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