• go里面json数据序列化


    1.代码演示

    package main
    
    import (
        "encoding/json"
        "fmt"
    )
    
    //各种数据结构转化为json
    type Persion struct {
        Name string `json:"name"` //这里使用这种方式给Name别名
        Age int
        Sex string
    }
    //将结构体转化为json
    func TestStu(){
        pp:=Persion{
            Name: "lisi",
            Age:20,
            Sex:"",
        }
        str,_:=json.Marshal(pp);//josn,序列化
    //---------------------------------------------------------
        var pinfo Persion;
        error:=json.Unmarshal(str,&pinfo);//json反序列化
        if error !=nil {
            fmt.Println("error");
        }
        fmt.Println(pinfo);
    }
    //将map结构转化为json
    func TestMap(){
        var aa map[string]interface{};
        aa= make(map[string]interface{});
        aa["name"]="lisi";
        aa["age"]=20;
        aa["sex"]="";
        info,_:=json.Marshal(aa);
    //----------------------反序列化--------------------------
        var res map[string]interface{};
        error:=json.Unmarshal(info,&res);
        if error !=nil {
            fmt.Println("error is not");
        }
        fmt.Println(res);
    }
    //切片序列化
    func testSlice(){
        var slice []map[string]interface{};
        m1:=make(map[string]interface{});
        m1["name"]="lisi";
        m1["age"]=20;
        m1["student"]=[]int{1,2,3,43,4};
        slice=append(slice,m1);
        m2:=make(map[string]interface{});
        m2["name"]="zhangsan";
        m2["age"]=30;
        m2["student"]=[]int{10,3,3,4,90};
        slice=append(slice,m2);
        result,_:=json.Marshal(slice);
        fmt.Println(string(result));
    //-------------------切片反序列化-----------------------
        var info []map[string]interface{};
        error:=json.Unmarshal(result,&info);
        if error !=nil {
            fmt.Println("error");
        }
        fmt.Println(info);
    }
    func main(){
        //TestMap();
        //TestStu();
        testSlice();
    }
  • 相关阅读:
    Unity调试模式设置辅助线是否可见
    Gizmos绘制塔防游戏网格
    JS offsetparent 问题
    JS 图像延迟加载
    JS image对象
    JS 瀑布流
    JS 对象
    JS node
    Vue+element 实现表格的增加行、根据索引删除行的功能
    Java的集合框架
  • 原文地址:https://www.cnblogs.com/zh718594493/p/14118230.html
Copyright © 2020-2023  润新知