如何提取字符串的一部分

huangapple go评论169阅读模式
英文:

How do I extract a part of a string

问题

我需要获取字符串的一部分,例如:
{
"token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc",
"expiresOnTimestamp":9234234
}

我尝试使用split和splitafter。我只需要获取这个token,就是仅仅这个token。

英文:

I'm need to get a part a of a string, i.e.:
{
"token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc",
"expiresOnTimestamp":9234234
}

I've tried using split, splitafter. I need to get this token, just the token.

答案1

得分: 5

你应该将其解析为 map[string]interface{}

  1. jsonInput := []byte(`{ "token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc", "expiresOnTimestamp":9234234 }`)
  2. jsonContent := make(map[string]interface{})
  3. unmarshalErr := json.Unmarshal(jsonInput, &jsonContent)
  4. if unmarshalErr != nil {
  5. panic(unmarshalErr)
  6. }
  7. token, _ := jsonContent["token"].(string)

或者创建一个专门的 struct 来进行解析:

  1. type Token struct {
  2. Value string `json:"token"`
  3. ExpiresOnTimestamp int `json:"expiresOnTimestamp"`
  4. }
  5. jsonInput := []byte(`{ "token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc", "expiresOnTimestamp":9234234 }`)
  6. var jsonContent Token
  7. unmarshalErr := json.Unmarshal(jsonInput, &jsonContent)
  8. if unmarshalErr != nil {
  9. panic(unmarshalErr)
  10. }
  11. token := jsonContent.Value
英文:

You should parse it to map[string]interface{}:

  1. jsonInput := []byte(`{ "token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc", "expiresOnTimestamp":9234234 }`)
  2. jsonContent := make(map[string]interface{})
  3. unmarshalErr := json.Unmarshal(jsonInput, &jsonContent)
  4. if unmarshalErr != nil {
  5. panic(unmarshalErr)
  6. }
  7. token, _ := jsonContent["token"].(string)

Or create a dedicated struct for unmarshal:

  1. type Token struct {
  2. Value string `json:"token"`
  3. ExpiresOnTimestamp int `json:"expiresOnTimestamp"`
  4. }
  5. jsonInput := []byte(`{ "token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc", "expiresOnTimestamp":9234234 }`)
  6. var jsonContent Token
  7. unmarshalErr := json.Unmarshal(jsonInput, &jsonContent)
  8. if unmarshalErr != nil {
  9. panic(unmarshalErr)
  10. }
  11. token := jsonContent.Value

huangapple
  • 本文由 发表于 2023年1月8日 05:17:33
  • 转载请务必保留本文链接:https://go.coder-hub.com/75043849.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定