我有一段代码将键/值存储收集到json中。现在,键值存储区可能包含数组作为值,下面是json
{
"name":"abc",
"address":"some address value",
"phonenumber": "\"123123\",\"7897897\",\"45345345\""
}
我想将其解组到struct
下type myobj struct{
Name string `json:"name"`
Address string `json:"address`
PhoneNumbers []string
}
phonenumbers字段是json中逗号分隔的列表,我想将其解组为字符串数组,该如何处理?
答案 0 :(得分:2)
您可以将其解组为字符串,然后将其拆分。
type myobj struct{
Name string `json:"name"`
Address string `json:"address`
PhoneNumberRaw string `json:"phonenumber"`
PhoneNumbers []string `json:"-"`
}
// Unmarshal.
var o myobj
json.Unmarshal(yourData, &o)
// Remove the quotes and split the phone number string by comma.
o.PhoneNumbers = strings.Split(strings.ReplaceAll(o.PhoneNumberRaw, `"`, ""), ",")