我正在尝试从一个API中解组一个JSON对象,该API在JSON内部有一个字符串,它本身就是JSON,但是它作为一个字符串被转义。它看起来像这样:
{
"duration": "126.61ms",
"startTime": "2016-02-19T20:01:17.884Z",
"total": 123,
"content": [
{
"dateCreated": "2016-02-19T20:01:09.181Z",
"lastUpdated": "2016-02-19T20:01:09.181Z",
"name": "name",
"stats": "{\"id\":545,\"lastUpdated\":\"2015-01-09T19:16:04.535Z\",\"all\":{\"runs\":{\"count\":123}"
}
}
我正在尝试将其解组为这样的结构:
type RunStatus struct {
Duration string `json:"duration"`
StartTime time.Time `json:"startTime"`
Total int `json:"total"`
Content []struct {
DateCreated time.Time `json:"dateCreated"`
LastUpdated time.Time `json:"lastUpdated"`
name string `json:"name"`
stats string `json:"stats"`
} `json:"content"`
}
将转义的JSON对象转换为stats结构而不是在字符串中的最佳方法是什么?
答案 0 :(得分:0)
分两个阶段完成。首先使用stats字段作为字符串解组外部对象,然后将该字符串解组到stats结构中。你可以做一个UnmarshalJSON
的自定义实现,所以这是混淆的,但无论哪种方式,我所知道的唯一合理的方法是分别做两个。