MST

星途 面试题库

面试题:Go语言中json包处理简单嵌套结构

给定如下Go结构体:type Outer struct { Inner struct { Value string } `json:"inner"` },请编写代码将该结构体实例序列化为JSON字符串,并再将这个JSON字符串反序列化为Go结构体实例。
39.6万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "encoding/json"
    "fmt"
)

type Outer struct {
    Inner struct {
        Value string `json:"value"`
    } `json:"inner"`
}

func main() {
    // 初始化结构体实例
    outer := Outer{
        Inner: struct {
            Value string `json:"value"`
        }{
            Value: "test value",
        },
    }

    // 序列化为JSON字符串
    data, err := json.Marshal(outer)
    if err != nil {
        fmt.Println("序列化错误:", err)
        return
    }
    jsonStr := string(data)
    fmt.Println("序列化后的JSON字符串:", jsonStr)

    // 反序列化为Go结构体实例
    var newOuter Outer
    err = json.Unmarshal([]byte(jsonStr), &newOuter)
    if err != nil {
        fmt.Println("反序列化错误:", err)
        return
    }
    fmt.Println("反序列化后的结构体实例:", newOuter)
}