文章目录

  • 需求
    • 简单版
    • 复杂版
    • 进阶版2:一级拼接
    • 进阶版2的另一种写法
    • 进阶版3:两级拼接
    • 进阶版3的另一种写法

需求

初始有一个json
需要cue文件来帮助拼接一段形成一个新的json

简单版

import ("encoding/json"
)// 原json Marshal之后的字符串
a: "{\"test1\":\"1\",\"test2\":\"2\"}"// step1: 先unmarshal
b: json.Unmarshal(a)// step2:拼接新的内容
c: {b"testNew": "new"   // 新内容
}// step3: 转成字符串
cMarshal: json.Marshal(c)

复杂版

import ("encoding/json"
)// 原json Marshal之后的字符串
a: "{\"test1\":\"1\",\"test2\":\"2\"}"// step1: 先unmarshal
b: json.Unmarshal(a)testValue:  {"111": "111""222": "222"
}// step2:拼接新的内容
c: {b"testNew": testValue  // 新内容
}// step3: 转成字符串
cMarshal: json.Marshal(c)

进阶版2:一级拼接

import ("encoding/json"
)// 原json Marshal之后的字符串
a: "{\"test1\":\"1\",\"test2\":\"2\"}"// step1: 先unmarshal
b: json.Unmarshal(a)testValue:  {"111": "111""222": "222""333": b.test2
}// step2:拼接新的内容
c: {b"testNew": testValue  // 新内容
}// step3: 转成字符串
cMarshal: json.Marshal(c)

进阶版2的另一种写法

import ("encoding/json"
)self: {// step1: 先unmarshalb: json.Unmarshal("\(global.a)")testValue:  {"111": "111""222": "222""333": b.test2}// step2:拼接新的内容c: {b"testNew": testValue  // 新内容}
}global: {// 原json Marshal之后的字符串a: "{\"test1\":\"1\",\"test2\":\"2\"}"// step3: 转成字符串cMarshal: json.Marshal(self.c)
}

进阶版3:两级拼接

import ("encoding/json"
)// 原json Marshal之后的字符串
a: "{\"test1\":\"1\",\"test2\":\"2\"}"
a2: "{\"test1bbbb\":\"1\",\"test2bbbb\":\"2\"}"// step1: 先unmarshal
b: json.Unmarshal(a)
b2: json.Unmarshal(a2)testValue:  {"111": "111""222": "222""333": b.test2b2
}// step2:拼接新的内容
c: {b"testNew": testValue  // 新内容
}// step3: 转成字符串
cMarshal: json.Marshal(c)

进阶版3的另一种写法

import ("encoding/json"
)self: {// step1: 先unmarshalb: json.Unmarshal("\(global.a)")b2: json.Unmarshal("\(global.a2)")testValue:  {b2"111": "111""222": "222""333": b.test2}// step2:拼接新的内容c: {b"testNew": testValue  // 新内容}
}global: {// 原json Marshal之后的字符串a: "{\"test1\":\"1\",\"test2\":\"2\"}"a2: "{\"test1bbbb\":\"1\",\"test2bbbb\":\"2\"}"// step3: 转成字符串cMarshal: json.Marshal(self.c)}

【cue语言系列】03.json marshal和unmarshal相关推荐

  1. Go的json解析:Marshal与Unmarshal

    简介 Json(Javascript Object Nanotation)是一种数据交换格式,常用于前后端数据传输.任意一端将数据转换成json 字符串,另一端再将该字符串解析成相应的数据结构,如st ...

  2. json的Marshal 和 UnMarshal 的

    实现 Json Marshal:将数据编码成json字符串 type Stu struct {Name string `json:"name"`Age intHIgh boolse ...

  3. Go 语言编程 — encoding/json 库

    目录 文章目录 目录 encoding/json 使用 json.Marshal() 函数对一组数据进行 JSON 格式的编码 使用 json.Unmarshal() 函数对 JSON 数据进行解码 ...

  4. Go --- Marshal与Unmarshal基础用法

    go语言本身为我们提供了json的工具包"encoding/json". 前言: Json–Javascript Object Nanotation 是一种数据交换格式,经常用于前 ...

  5. go nil json.marshal 完是null_字节跳动踩坑记#3:Go服务灵异panic

    这个坑比较新鲜,刚填完,还冒着冷气. - 1 - 在字节跳动,我们服务的所有 log 都通过统一的日志库采集到流式日志服务.落地 ES 集群,配上字节云超(sang)级(xin)强(bing)大(ku ...

  6. abp.ajax get,ABP入门系列之Json格式化

    讲完了分页功能,这一节我们先不急着实现新的功能.来简要介绍下Abp中Json的用法.为什么要在这一节讲呢?当然是做铺垫啊,后面的系列文章会经常和Json这个东西打交道. 一.Json是干什么的 JSO ...

  7. CUE语言基础入门:CUE是一门为配置而生的语言

    基础入门 从这一部分开始,我们会介绍 KubeVela 是如何基于 CUE 来实现抽象和扩展的.本节将主要介绍一些 CUE 的基础知识,如果你对 KubeVela 的核心概念还不了解也没有关系,对于那 ...

  8. go语言里读写json

    主思路 go语言里读写json,可以使用 encoding/json ,简单或可变的结构就用 map[string]interface{},复杂的就定义所有的 struct 详情 导入包 import ...

  9. 面向初学者的 MQL4 语言系列之3——技术指标和内置函数

    简介 这是"面向初学者的 MQL4 语言"系列的第三篇文章.在前两篇文章中, 我们学习了 MQL4 的基础知识,它们是进一步开发的基石.现在我们将学习使用内置 函数和用于技术指标的 ...

最新文章

  1. Redis cluster
  2. 苹果市值盘中超2万亿美元,从1万亿到2万亿仅用时2年
  3. 漫画:什么是HashMap?
  4. Oracle存储过程(转)
  5. AutoML 与 Bayesian Optimization 概述
  6. CANOpen数据存档文件
  7. python中findroot_Python源码问题算负数平方根无结果输出何解,python负数,def findRoot...
  8. C语言中字符串的处理方式
  9. 反向传播(Back Propagation)与神经网络(Neural Network)
  10. SLAM--G2o实现BA优化
  11. Hex2Bin使用方法
  12. JVM对象内存分配机制之对象在Eden区分配(五)
  13. c语言图像的简单叠加,第10章C语言图形编程.ppt
  14. html 星星字体,星星字,做华丽的星星文字效果
  15. java 根据ftl文件生成word
  16. Excel小技巧总结,工作中超实用
  17. Android版简历(三)
  18. YAPI 重点功能使用介绍
  19. 多日之苦终得救:“威金”专杀工具发布(转)
  20. Thinkphp3.2 表达式查询eq,neq,gt,egt,lt,elt,in,between,like,exp

热门文章

  1. 将video转成gif工具(免费)
  2. 本人开始提供NOD32 相关升级及咨询服务
  3. 河南太康一高高考成绩查询2021,河南周口2020高考喜报,太康一高一本上线增幅巨大,值得重点关注...
  4. 等待事件之enq: HW - contention
  5. Spring Cloud架构教程 (二)Hystrix监控数据聚合
  6. 【iMessage苹果相册推】CSR邮箱必须与证书分属的AppID相同。 若是您可以在步伐中吸取令牌,则此步伐是成功的。
  7. DaVinci DM6437 中文教程
  8. 函数(2)——4.兔子数列5.汉诺塔6.综合案例-RSA算法7.综合案例-体测成绩判定2021.11.16
  9. ROWNUM 与 ROW_NUMBER()OVER() 的区别
  10. NJR日清纺微理光R5445系列 单节锂电池保护芯片,内置驱动器高位Nch FET开关温度保护