结构体嵌套 树形结构 json字符串与结构体相互转换
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | package main import ( "encoding/json" ) type T struct { K int32 V string Children []T } func convert() { var target T err := json.Unmarshal([]byte(jsonStr), &target) if err != nil { panic(err) } bs, err := json.Marshal(jsonStruct) if err != nil { panic(err) } s := string(bs) if s != "" { } } var jsonStr = ` { "K" : 1, "V" : "v" , "Children" : [ { "K" : 11, "V" : "11v" , "Children" : [ { "K" : 111, "V" : "111v" , "Children" : [] }, { "K" : 112, "V" : "112v" , "Children" : [ { "K" : 1121, "V" : "1121v" , "Children" : [] }, { "K" : 1122, "V" : "1122v" , "Children" : [] } ] } ] }, { "K" : 12, "V" : "12v" , "Children" : [] } ] } ` var jsonStruct = T{ K: 1, V: "v" , Children: []T{ { K: 11, V: "11v" , Children: []T{ { K: 111, V: "111v" , Children: []T{}, }, { K: 112, V: "112v" , Children: []T{ { K: 1121, V: "1121v" , Children: []T{}, }, { K: 1122, V: "1122v" , Children: []T{}, }, }, }, }, }, { K: 12, V: "12v" , Children: []T{}, }, }, } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
2019-03-07 summary
2019-03-07 函数对象与闭包的误区 函数的指针 高阶函数 将一部分处理以函数对象的形式转移到外部从而实现了算法的通用化
2019-03-07 Leaf:美团分布式ID生成服务开源
2019-03-07 出于性能考虑,C语言自动地以传地址的方式将数组传递给被调函数 const 编译错误 最小权限原则
2019-03-07 好的软件工程 与 高的性能 冲突 耗费处理器时间的函数调用
2019-03-07 定时任务 与 最小公倍数
2019-03-07 线性表的单链表 线性表的静态链表