MST
星途 面试题库

面试题:Go中json包解析嵌套结构的实践

假设有如下JSON数据:{"name":"Alice","age":30,"address":{"city":"New York","zip":"10001"}},请用Go的encoding/json包将其解析为相应的结构体,并展示解析代码。
47.0万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "encoding/json"
    "fmt"
)

// Address 地址结构体
type Address struct {
    City string `json:"city"`
    Zip  string `json:"zip"`
}

// User 用户结构体
type User struct {
    Name    string  `json:"name"`
    Age     int     `json:"age"`
    Address Address `json:"address"`
}

func main() {
    jsonData := `{"name":"Alice","age":30,"address":{"city":"New York","zip":"10001"}}`

    var user User
    err := json.Unmarshal([]byte(jsonData), &user)
    if err != nil {
        fmt.Println("解析失败:", err)
        return
    }

    fmt.Printf("Name: %s\n", user.Name)
    fmt.Printf("Age: %d\n", user.Age)
    fmt.Printf("City: %s\n", user.Address.City)
    fmt.Printf("Zip: %s\n", user.Address.Zip)
}