簡體   English   中英

將 json 中的逗號分隔字符串或 int 值解組到數組

[英]Unmarshal comma-separated string or int values in json to an array

我有一段代碼將鍵/值存儲收集到 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 中的逗號分隔列表,我想將其解組為字符串數組,我如何 go 關於這個?

您可以將其解組為字符串,然后將其拆分。

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, `"`, ""), ",")


暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM