假设我有这个结构块:
type AllShipments struct {
Shipments []struct {
ShipmentID int `json:"shipmentId"`
ShipmentDate time.Time `json:"shipmentDate"`
ShipmentItems []struct {
OrderItemID string `json:"orderItemId"`
OrderID string `json:"orderId"`
} `json:"shipmentItems"`
Transport struct {
TransportID int `json:"transportId"`
} `json:"transport"`
} `json:"shipments"`
}
我用:
func main() {
var t AllShipments
.....
.....
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
err = json.Unmarshal(body, &t)
if err != nil {
fmt.Println(string(body))
}
prettyJSON, err := json.MarshalIndent(t, "", " ")
if err != nil {
log.Fatal("Failed to generate json", err)
}
fmt.Printf("%s\n", string(prettyJSON))
例如,如何仅获取 json 字段“shipmentDate”,我尝试过,t.Shipments.ShipmentDate但没有成功。t.Shipments确实过滤掉了第一个数组。那么最好的方法是什么?我知道我可以禁用其他 json 字段,"json:-"但这不是我想要的。只是访问该领域的一种方式
慕婉清6462132
相关分类