首页 > 其他分享 >go语言-不同类型转换为JSON格式数据

go语言-不同类型转换为JSON格式数据

时间:2023-07-11 14:01:13浏览次数:39  
标签:类型转换 err fmt json jsonData Println JSON go main

1.将结构体转换为JSON:

package main

import (
	"encoding/json"
	"fmt"
)

type Person struct {
	Name  string
	Age   int
	Email string
}

func main() {
	person := Person{Name: "Alice", Age: 25, Email: "[email protected]"}

	jsonData, err := json.Marshal(person)
	if err != nil {
		fmt.Println("转换失败:", err)
		return
	}

	fmt.Println(string(jsonData))
}

2.将切片转换为JSON

package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	numbers := []int{1, 2, 3, 4, 5}

	jsonData, err := json.Marshal(numbers)
	if err != nil {
		fmt.Println("转换失败:", err)
		return
	}

	fmt.Println(string(jsonData))
}
答案解析:

3.将Map转换为JSON 

package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	student := map[string]interface{}{
		"name":   "Bob",
		"age":    20,
		"gender": "male",
	}

	jsonData, err := json.Marshal(student)
	if err != nil {
		fmt.Println("转换失败:", err)
		return
	}

	fmt.Println(string(jsonData))
}

4.将JSON字符串转换为结构体

package main

import (
	"encoding/json"
	"fmt"
)

type Person struct {
	Name  string
	Age   int
	Email string
}

func main() {
	jsonData := `{"Name":"Alice","Age":25,"Email":"[email protected]"}`

	var person Person
	err := json.Unmarshal([]byte(jsonData), &person)
	if err != nil {
		fmt.Println("反序列化失败:", err)
		return
	}

	fmt.Printf("姓名:%s,年龄:%d,邮箱:%s\n", person.Name, person.Age, person.Email)
}

5.将JSON数组转换为切片

go
package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	jsonData := `[1,2,3,4,5]`

	var numbers []int
	err := json.Unmarshal([]byte(jsonData), &numbers)
	if err != nil {
		fmt.Println("反序列化失败:", err)
		return
	}

	fmt.Println(numbers)
}

 

标签:类型转换,err,fmt,json,jsonData,Println,JSON,go,main
From: https://www.cnblogs.com/superzwb/p/17544447.html

相关文章

  • Golang学习笔记-判断
    判断有两种:if和switchif判断if用于条件判断,它会按照顺序一次执行,当if条件及elseif条件都不成立,则会执行else部分的逻辑语法if条件判断{...}elseif条件判断{...}else{...}栗子varmoneyint=18ifmoney>0&&money<=1000{fmt.Pri......
  • 使用 GORM 进行软删除和硬删除
    目录结构:软删除在GORM中使用软删除删除已经被标记为已删除的记录硬删除在GORM中使用硬删除永久删除已经被标记为已删除的记录软删除在GORM中,软删除(softdelete)是指将记录标记为已删除,而不是从数据库中永久删除记录。软删除可以保留已删除记录的历史记录,同时......
  • mongodb4集合操作
    Mongodb集合操作1.查看当前数据库下所有集合showcollectionsshowtables2.新建集合db.createCollection("product")3.新建集合并插入文档db.girl.insert({"name":"小花","age":"33","address":"chengdu"})4.查看文档内容db.girl.find()5.删除......
  • mongodb5文档操作1-插入数据
    mongodb插入文档数据1.insert插入单条数据info={ "name":"teacher01","num":01,"age":33,"sex":"man","phone":18782940194,"address":"成都龙泉"}db.teacher.insert......
  • mongodb5文档操作2-聚合查询数据
    Mongodb聚合函数查询1.match函数db.person.aggregate([{"$match":{"address":"龙泉"}}])2.group分组查询db.person.aggregate([{$group:{_id:"$address",count:{$sum:1}}}])3.按条件分组查询db.person.aggregate([{$match:{se......
  • mongodb5文档操作2-排序查询数据
    Mongodb查询排序操作1.通过1控制正序显示db.teacher.find().sort({"_id":1})2.通过-1控制倒序显示db.teacher.find().sort({"_id":-1})......
  • mongodb2用户操作
    mongodb用户操作一.给所有数据库添加访问认证1.编辑mongodb.conf添加参数auth=true权限vi/usr/local/mongodb/bin/mongodb.conf添加auth=true参数2.重启mongodb,未认证直接使用showdbs无法查看二.用户权限操作1.系统用户权限和角色介绍用户角色数据库用户角色:read、readWrite;数据......
  • mongodb3数据库操作
    Mongodb数据库操作一.默认数据库1.showdbs查看数据库admin库主要存储MongoDB的用户、角色等信息config库主要存储分片集群基础信息local库主要存储副本集的元数据test默认空数据库,无法查看2.amdin数据库syetem内容介绍system.version存储authSchema的版本信息system.users存储数据......
  • pycharm安装django失败,原因是报了一个ssl异常,也就是说和国外源站服务器ssl失败。 所
    pycharm安装django失败,原因是报了一个ssl异常,也就是说和国外源站服务器ssl失败。所以选用国内源站安装:选中Options,输入:“-ihttps://pypi.tuna.tsinghua.edu.cn/simple” ......
  • Google MusicLM:让音乐创作变得简单
    Google发布了一项非常有趣的人工智能项目:MusicLM。它可以让任何人通过简单的文字描述就能生成原创音乐。MusicLM是什么MusicLM是一个文本到音乐生成模型,是基于Google的语言模型LaMDA开发的。用户只需用自然语言描述音乐风格、氛围、搭配乐器等,MusicLM就可以自动生成与......