Go by Example-golang操作json

2023-11-06

package main

//Go by Example 中文:JSON 微信:6686496
import (
	"encoding/json"
	"fmt"
	"os"
)
type Response1 struct {
	Page int
	Fruits []string
}
type Response2 struct {
	Page int `json:"page"`
	Fruits []string `json:"fruits"`
}

func main() {

	//基本数据类型到 JSON 字符串的编码
	bolB,_:=json.Marshal(true)
	fmt.Println(string(bolB))

	intB,_:=json.Marshal(1)
	fmt.Println(string(intB))

	fltB,_:=json.Marshal(2.34)
	fmt.Println(string(fltB))

	strB,_:=json.Marshal("gopher")
	fmt.Println(string(strB))

	slcD:=[]string{"apple","peach","pear"}
	slcb,_:=json.Marshal(slcD)
	fmt.Println(string(slcb))

	mapD:=map[string]int{"apple":5,"lettuce":7}
	mapB,_:=json.Marshal(mapD)
	fmt.Println(string(mapB))

	//JSON 包可以自动的编码你的自定义类型。编码仅输出可导出的字段,并且默认使用他们的名字作为 JSON 数据的键。
	res1D:=&Response1{
		Page:   1,
		Fruits: []string{"apple","peach","pear"},
	}
	res1B,_:=json.Marshal(res1D)
	fmt.Println(string(res1B))

	//标签对应后,输出标签json
	res2D:=Response2{
		Page:   1,
		Fruits: []string{"apple","peach","pear"},
	}
	res2B,_:=json.Marshal(res2D)
	fmt.Println(string(res2B))

	byt:=[]byte(`{"num":6.13,"strs":["a","b"]}`)
	var dat map[string]interface{}

	if err:=json.Unmarshal(byt,&dat);err!=nil{
		panic(err)
	}
	fmt.Println(dat)
	num:=dat["num"].(float64)
	fmt.Println(num)

	strs:=dat["strs"].([]interface{})
	str1:=strs[0].(string)
	fmt.Println(str1)

	str:=`{"page":1,"fruits":["apple","peach"]}`
	res:=&Response2{}
	json.Unmarshal([]byte(str),&res)
	fmt.Println(res)
	fmt.Println(res.Fruits[0])

	//我们也可以和os.Stdout 一样,直接将 JSON 编码直接输出至 os.Writer流中,或者作为 HTTP 响应体
	enc:=json.NewEncoder(os.Stdout)
	d:=map[string]int{"apple":5,"lettuce":7}
	enc.Encode(d)



}

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Go by Example-golang操作json 的相关文章

随机推荐

  • C++实用案例:杨辉三角形

    前言 今天我们要讲的是 C 实用案例 杨辉三角形 这是一个简单又典型的递推算法的题目 一 理清思路 杨辉三角形是一个简单的数学模型 其中 最左侧的数和最右侧的数都是1 剩余的数是上面两数之和 每一行都比上一行多一个数 一次往下 如图 于是
  • JAVA java学习(21)——————java变量的作用域:静态变量、全局变量和局部变量

    变量的作用域规定了变量所能使用的范围 只有在作用域范围内变量才能被使用 根据变量声明地点的不同 变量的作用域也不同 根据作用域的不同 一般将变量分为不同的类型 成员变量和局部变量 成员变量 Java 的成员变量有两种 分别是全局变量和静态变
  • Android 百度地图开发(一)--- 申请API Key和在项目中显示百度地图

    转载请注明地址http blog csdn net xiaanming article details 11171581 最近自己想研究下地图 本来想研究google Map 但是申请API key比较坑爹 于是从百度地图入手 其实他们的用
  • 服务器学习教程大纲

    服务器学习教程大纲 第一章 服务器基础 1 1 服务器概述 服务器的定义和作用 服务器的分类和发展趋势 1 2 服务器硬件基础 服务器硬件的基本组成和工作原理 服务器硬件的选择和配置 1 3 服务器软件基础 服务器软件的基本概念和分类 服务
  • 语音识别的技术原理是什么?

    https www zhihu com question 20398418
  • STL——空间配置器剖析(一级空间配置器、二级空间配置器的本质及运用场合,是如何用内存池去管理的)

    一级空间配置器 二级空间配置器的本质及运用场合 是如何用内存池去管理的 研究了好久才写好的 主要是二级配置器 大标题小标题什么的可能没有安排好 先 写了原理上的内容 再剖析了各个函数源码 各个目录可以看csdn自带的目录 如何使用空间配置器
  • 关于 SELECTPAGE 方法的使用

    源码 根据 entity 条件 查询全部记录 并翻页 param page 分页查询条件 可以为 RowBounds DEFAULT param queryWrapper 实体对象封装操作类 可以为 null p gt P selectPa
  • bash: 无法执行二进制文件: 可执行文件格式错误

    今天客户送来一台笔记本 说是 银河麒麟电脑 让我在这台电脑上跑程序 在工作机上 银河麒麟V10 发布了可执行程序 将可执行程序拷贝到这台笔记本上 双击执行无反应 在终端执行 提示 bash xxxxx 无法执行二进制文件 可执行文件格式错误
  • maven managed dependencies找不到maven管理依赖的原因及解决方法

    图一 图二 选择图二maven managed dependencies之后在图一那里没显示 原因 工程不是maven工程 解决方法1 重新用ecplise建个maven工程 然后把你的代码导入新工程 运行ok 解决方法2 添加maven支
  • springboot+prometheus+grafana实现应用监控和报警 - windows版

    Prometheus官网 https prometheus io docs introduction first steps Grafana官网 https grafana com docs grafana latest SpringBoo
  • 递归的学习

    递归学习 递归三大要素 第一 明确函数要干什么 第二 寻找递归结束的条件 第三 找出函数等价的关系式 递归求和 方法一 ls 1 2 3 4 5 def fun ls n if n 0 return ls n else s fun ls n
  • Java从入门到实战总结-3.5、Java网络编程

    Java从入门到实战总结 3 5 Java网络编程 文章目录 Java从入门到实战总结 3 5 Java网络编程 1 网络简述 1 什么是计算机网络 2 什么是计算机的IP地址 3 什么是网络中网站的域名 4 什么是计算机的端口号 5 什么
  • 2种指定包的类代码扫描及爬坑(主要是Reflections的问题点)

    一 Reflections maven
  • 自动驾驶仿真工具之CARLA简介

    大家好 我已经把CSDN上的博客迁移到了知乎上 欢迎大家在知乎关注我的专栏慢慢悠悠小马车 https zhuanlan zhihu com duangduangduang 希望大家可以多多交流 互相学习 自动驾驶算法的调试和效果评测首先要在
  • C++中常用字符串相关的编程题

    索引 找出字符串中的数字 字母和符号 并分别存储 找出字符串中所有不重复的字符 并输出 统计字符串中每个字符的个数 并输出 编译环境 以下所用的开发环境是vs2010 创建的都为控制台输出程序 下面只贴出创建项目后修改了的cpp文件 即主要
  • python的魔法函数

    一 介绍 在Python中 魔法函数是以双下划线 开头和结尾的特殊函数 它们在类定义中用于实现特定的行为 例如运算符重载 属性访问 迭代等 以下是一些常见的Python魔法函数 init 这是一个特殊的构造函数 在创建类的实例时自动调用 用
  • COOC软件一款用于文献计量和知识图谱绘制的新软件

    以前论文写作中做一个共现矩阵 二模矩阵 聚类图谱 词云图 邻接表 相异矩阵 同义词批量合并 研究热点追踪等分析需要一小时 一天 对于小白甚至需要一周 一个月 但是利用COOC这款软件 你会体会到什么叫方法比努力更重要 好的工具会让你事半功倍
  • 在浏览器中播放m3u8

    我自己做了个简单的demo地址 https github com onyas vip url resolve 欢迎star或fork 在浏览器上播放m3u8的视频地址有两种方式 html的video标签的方式 这种方式播放很简单
  • 使用element-ui出现的问题——loading加载被弹窗遮挡

    正常显示如下图 loading加载被弹窗遮挡如下图 网上搜了很多的文章 尝试了很多的方法 有说在弹出层上面添加opend方法 在这个方法里面调用接口 试过无效 还有的说在setTimeout里面调用请求 依旧不行 最后用了如下简单粗暴的方式
  • Go by Example-golang操作json

    package main Go by Example 中文 JSON 微信 6686496 import encoding json fmt os type Response1 struct Page int Fruits string t