Go语言---Json

JSON (JavaScript Object Notation)是一种比XML 更轻量级的数据交换格式,在易于人们阅读和编写的同时,也易于程序解析和生成。尽管JSON是 JavaScript的一个子集,但 JSON采用完全独立于编程语言的文本格式,且表现为键/值对集合的文本描述形式(类似一些编程语言中的字典结构),这使它成为较为理想的、跨平台、跨语言的数据交换语言。
开发者可以用 JSON 传输简单的字符串、数字、布尔值,也可以传输一个数组,或者一个更复杂的复合结构。在 Web 开发领域中,JSON 被广泛应用于 Web 服务端程序和客户端之间的数据通信。
Go 语言内建对 JSON 的支持。使用 Go 语言内置的 encoding/json 标准库,开发者可以轻松使用 Go程序生成和解析 JSON 格式的数据。

JSON在线解析及格式化验证

编码JSON

通过结构体生成JSON

使用 json.Marshal()所数可以对一组数据进行 JSON 格式的编码。json.Marshal()函数的声明如下:

fune Marshal(v interface{})([]byte,error)
  • 注意:成员的首字母必须大写
    在这里插入图片描述
    在这里插入图片描述
  • 也可以采用格式化编码
    在这里插入图片描述

JSON二次编码

  • 可以使用小写,但是后面需要加json:"company"的标识,相当于二次编码
    在这里插入图片描述
  • 控制字段是否输入到屏幕json:"-"
    在这里插入图片描述
  • 控制bool以字符串的类型进行输出json:",string"
    在这里插入图片描述

通过map生成JSON

在这里插入图片描述

解码JSON

解码到结构体

在这里插入图片描述

  • 需要先定义一个结构体变量,第二个参数使用这个结构体变量的地址。
  • 可以通过fmt.Printf("tmp=%+v\n", tmp)使打印字段更加清晰。
  • 如果只需要其中一部分,可以在定义一个结构体,使用新的结构体进行解码。
    在这里插入图片描述

解码到map

在这里插入图片描述

通过类型断言反推类型

  • 解析为map类型是无法通过m[“company”]进行转化的,要想把数据拆分出来,就要使用类型断言。
    在这里插入图片描述
  • 切片类型要使用[]interface{}
    在这里插入图片描述

从转化上来说,转化为map是最简单的,但是要从map里面知道每一个字段的类型,是需要一步一步的类型断言才能知道,很不方便,而使用结构体就可以方便的知道每一个类型。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/44152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【大模型LLM面试合集】大语言模型架构_layer_normalization

2.layer_normalization 1.Normalization 1.1 Batch Norm 为什么要进行BN呢? 在深度神经网络训练的过程中,通常以输入网络的每一个mini-batch进行训练,这样每个batch具有不同的分布,使模型训练起来特别困难。Internal Covariat…

【C++高阶】高效数据存储:理解并模拟实现红黑树Map与Set

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C “ 登神长阶 ” 🤡往期回顾🤡:了解 红黑树 🌹🌹期待您的关注 🌹🌹 ❀模拟实现Map与Set 📒1.…

js ES6 part1

听了介绍感觉就是把js在oop的使用 作用域 作用域(scope)规定了变量能够被访问的“范围”,离开了这个“范围”变量便不能被访问, 作用域分为: 局部作用域、 全局作用域 1. 函数作用域: 在函数内部声明的…

爬取天气数据,利用Pyecharts作轮播图

爬取网站链接:https://lishi.tianqi.com/xiamen/202312.html 爬取了厦门市2023年一整年的天气数据,包括最高温,最低温,天气,风力风向等 爬虫代码: import requests import pandas as pd import csv from…

UML建模案例分析-时序图和类图的对应关系

概念 简单地说,类图定义了系统中的对象,时序图定义了对象之间的交互。 例子 一个电子商务系统,会员可通过电子商务系统购买零件。具体功能需求如下: 会员请求结账时,系统验证会员的账户是否处于登录状态&#xff1…

极狐GitLab 17.0 重磅发布,100+ DevSecOps功能更新来啦~【三】

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…

【基础篇】1.8 C语言基础(二)

2.9 预处理指令和宏定义 在STM32开发中,预处理和宏定义常用于配置硬件参数、启用或禁用特定功能、以及优化代码以适应不同的硬件配置或应用场景。通过合理地使用预处理和宏定义,我们可以编写更加灵活、可配置和高效的代码。 预处理指令如#include、#define等在C语言编程中起…

防火墙图形化界面策略和用户认证(华为)

目录 策略概要认证概要实验拓扑图题目要求一要求二要求三要求四要求五要求六 策略概要 安全策略概要: 安全策略(Security Policy)在安全领域具有双重含义。宏观上,安全策略指的是一个组织为保证其信息安全而建立的一套安全需求、…

uniapp 微信小程序接入MQTT

MQTT安装 前期准备 由于微信小程序需要wss,所以要有域名SSL证书 新建目录/srv/mosquitto/config,/srv/mosquitto/config/cert 目录/srv/mosquitto/config中新建配置文件mosquitto.conf,文件内容 persistence true persistence_location /m…

深入探索Apache Flink:流处理的艺术与实践

在当今的大数据时代,流处理已成为处理实时数据的关键技术。Apache Flink,作为一个开源的流处理框架,以其高吞吐量、低延迟和精确一次(exactly-once)的语义处理能力,在众多流处理框架中脱颖而出。本文将深入…

在树莓派设备上导出系统镜像

镜像导出 前提条件: 已获取可以正常使用的设备。已获取鼠标、键盘和电源适配器。已将设备接入可正常使用的网络。 操作步骤: 连接适配器给设备上电,正常启动设备,连接鼠标和键盘。在终端命令窗格执行如下命令,安装…

数据模型-ER图在数据模型设计中的应用

ER图在数据模型设计中的应用 1. ER图概述:起源与发展​ 实体-关系图(Entity Relationship Diagram,简称ER图)起源于1970年代,由Peter Chen首次提出,作为描述数据和信息间关系的图形化语言。随着数据库技术…

[PM]流程与结构设计

流程图 流程就是为了达到特定目标, 进行的一系列有逻辑性的操作步骤, 由两个及已上的步骤, 完成一个完整的行为过程, 即可称为流程, 流程图就是对这个过程的图形化展示 分类 业务流程图 概念: 描述业务流程的一种图, 通过特定符号和连线表示具体某个业务的处理步骤和过程作…

MyBatis与JDBC相比,有哪些优势

MyBatis与JDBC(Java Database Connectivity)相比,在多个方面展现出显著的优势。这些优势使得MyBatis在现代软件开发中成为一个非常受欢迎的选择,特别是在处理数据库交互时。以下是MyBatis相比JDBC的主要优势: 1. 简化…

极狐GitLab亮相世界人工智能大会,开启开源大模型赋能软件研发新时代

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab :https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署…

285个地级市-胡焕庸线数据

全国285个地级市-胡焕庸线数据.zip资源-CSDN文库 胡焕庸线:中国人口与生态的分界线 胡焕庸线,一条在中国地理学界具有划时代意义的分界线,由著名地理学家胡焕庸于1935年提出。这条线从黑龙江省的瑷珲(现黑河市)延伸至…

json-server总结

Json-server 是一个专门用于模拟 RESTful API 的工具,它允许前端开发人员在不依赖后端 API 的情况下进行开发,通过本地搭建一个 JSON 服务来快速生成 REST API 风格的后端服务。 一、主要特点与功能 快速搭建:Json-server 使用 JSON 文件作…

HippoRAG如何从大脑获取线索以改进LLM检索

知识存储和检索正在成为大型语言模型(LLM)应用的重要组成部分。虽然检索增强生成(RAG)在该领域取得了巨大进步,但一些局限性仍然没有克服。 俄亥俄州立大学和斯坦福大学的研究团队推出了HippoRAG,这是一种创新性的检索框架,其设计理念源于人类…

数学建模美赛论文文档

目录 1. 摘要:1.1 阅读并理解题目1.2 背景介绍1.3 问题提出 2. 目录:2.1 引言(Introduction)2.2 假设与合理性说明(Assumptions and Justifications)2.3 符号说明(Notations)2.4 模型…

2.Date类型的请求参数

前端 <el-form-item label"结束日期" prop"endTime"><el-date-pickerv-model"dataForm.endTime"type"date"value-format"yyyy-MM-dd HH:mm:ss"placeholder"选择日期"></el-date-picker></el…