英文:
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
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论