MST
星途 面试题库

面试题:Go中JSON序列化和反序列化基础

在Go语言中,给定一个结构体 `type Person struct { Name string `Age` int }`,请编写代码将一个 `Person` 实例序列化为JSON字符串,并且再将这个JSON字符串反序列化回 `Person` 实例。
22.4万 热度难度
编程语言Go

知识考点

AI 面试

面试题答案

一键面试
package main

import (
    "encoding/json"
    "fmt"
)

type Person struct {
    Name string
    Age  int
}

func main() {
    // 创建一个Person实例
    p := Person{
        Name: "张三",
        Age:  30,
    }

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

    // 反序列化JSON字符串
    var newP Person
    err = json.Unmarshal([]byte(jsonStr), &newP)
    if err != nil {
        fmt.Println("反序列化错误:", err)
        return
    }
    fmt.Println("反序列化后的Person实例:", newP)
}