如何提取字符串的一部分

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

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{}

jsonInput := []byte(`{ "token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc", "expiresOnTimestamp":9234234 }`)
jsonContent := make(map[string]interface{})

unmarshalErr := json.Unmarshal(jsonInput, &jsonContent)

if unmarshalErr != nil {
    panic(unmarshalErr)
}

token, _ := jsonContent["token"].(string)

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

type Token struct {
    Value              string `json:"token"`
    ExpiresOnTimestamp int    `json:"expiresOnTimestamp"`
}

jsonInput := []byte(`{ "token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc", "expiresOnTimestamp":9234234 }`)

var jsonContent Token

unmarshalErr := json.Unmarshal(jsonInput, &jsonContent)

if unmarshalErr != nil {
    panic(unmarshalErr)
}

token := jsonContent.Value
英文:

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

jsonInput := []byte(`{ "token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc", "expiresOnTimestamp":9234234 }`)
jsonContent := make(map[string]interface{})

unmarshalErr := json.Unmarshal(jsonInput, &jsonContent)

if unmarshalErr != nil {
    panic(unmarshalErr)
}

token, _ := jsonContent["token"].(string)

Or create a dedicated struct for unmarshal:

type Token struct {
    Value              string `json:"token"`
    ExpiresOnTimestamp int    `json:"expiresOnTimestamp"`
}

jsonInput := []byte(`{ "token":"eyJ0eXjskdckjasdcaksdclkasdcsjnsc", "expiresOnTimestamp":9234234 }`)

var jsonContent Token

unmarshalErr := json.Unmarshal(jsonInput, &jsonContent)

if unmarshalErr != nil {
    panic(unmarshalErr)
}

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:

确定