zoukankan      html  css  js  c++  java
  • 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();
    }
  • 相关阅读:
    jquery在表格中的全选、不选,下面全选,全选勾选中,下面一项没有选,全选勾未选中,并且带出请求值。
    比较好的插件
    js预加载loading的canvas写法
    div居中方法
    WEB14-未完
    WEB13
    WEB12
    WEB11-黑客入侵 后门问题
    WEB-10 头等舱
    WEB9-神奇的超全局变量-文件包含
  • 原文地址:https://www.cnblogs.com/zh718594493/p/14118230.html
Copyright © 2011-2022 走看看