我有一段代码将键/值存储收集到 json 中。现在键值存储可能包含数组作为值,下面是 json
{
"name":"abc",
"address":"some address value",
"phonenumber": "\"123123\",\"7897897\",\"45345345\""
}
我想把它解码到下面的结构
type myobj struct{
Name string `json:"name"`
Address string `json:"address`
PhoneNumbers []string
}
phonenumbers 字段是 json 中的逗号分隔列表,我想将其解码为字符串数组,我该怎么做?
最佳答案
您可以将其解码为字符串,然后将其拆分。
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, `"`, ""), ",")
关于arrays - 将 json 中以逗号分隔的字符串或 int 值解码到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58742780/