当前位置: 首页 > 编程笔记 >

Go 结构体、数组、字典和 json 字符串的相互转换方法

翟聪
2023-03-14
本文向大家介绍Go 结构体、数组、字典和 json 字符串的相互转换方法,包括了Go 结构体、数组、字典和 json 字符串的相互转换方法的使用技巧和注意事项,需要的朋友参考一下

Go 语言中 encoding/json 包可以很方便的将结构体、数组、字典转换为 json 字符串。

引用

import "encoding/json"

解析语法

// v 传入结构体、数组等实例变量
// []byte 字节数组
// error 可能会有的错误
func Marshal(v interface{}) ([]byte, error)

反解析

// []byte 字节数组
// v 传入结构体、数组等实例变量的指针地址
// error 可能会有的错误
func Unmarshal(data []byte, v interface{}) error

代码

package main
 
// https://golang.org/pkg/encoding/json/
// https://cloud.tencent.com/developer/section/1141542#stage-100023262
 
import (
 "fmt"
 "encoding/json"
)
 
type User struct {
 Id int `json:"id"`
 Name string `json:"name"`
}
 
func main() {
 // 字符串解析为结构体
 s := `{"id": 1, "name": "wxnacy"}`
 
 var user User
 // 将字符串反解析为结构体
 json.Unmarshal([]byte(s), &user)
 fmt.Println(user) // {1 wxnacy}
 
 var d map[string]interface{}
 // 将字符串反解析为字典
 json.Unmarshal([]byte(s), &d)
 fmt.Println(d)  // map[id:1 name:wxnacy]
 
 
 s = `[1, 2, 3, 4]`
 var a []int
 // 将字符串反解析为数组
 json.Unmarshal([]byte(s), &a)
 fmt.Println(a)  // [1 2 3 4]
 
 // 将结构体解析为字符串
 b, e := json.Marshal(user)
 fmt.Println(e)
 fmt.Println(string(b)) // {"id":1,"name":"wxnacy"}
 
 b, e = json.Marshal(a)
 fmt.Println(string(b), e) // [1,2,3,4] <nil>
 
 b, e = json.Marshal(d)
 fmt.Println(string(b), e) // {"id":1,"name":"wxnacy"} <nil>
}

以上这篇Go 结构体、数组、字典和 json 字符串的相互转换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍js数组与字符串的相互转换方法,包括了js数组与字符串的相互转换方法的使用技巧和注意事项,需要的朋友参考一下 熟悉js的朋友很多都遇到过js的数组与字符串相互转换的情况,本文就此作一简单介绍,示例如下: 一、数组转字符串 需要将数组元素用某个字符连接成字符串,示例代码如下: 二、字符串转数组 实现方法为将字符串按某个字符切割成若干个字符串,并以数组形式返回,示例代码如下:

  • 本文向大家介绍C#实现实体类与字符串互相转换的方法,包括了C#实现实体类与字符串互相转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了C#实现实体类与字符串互相转换的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的C#程序设计有所帮助。

  • 本文向大家介绍Python中实现字符串类型与字典类型相互转换的方法,包括了Python中实现字符串类型与字典类型相互转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文以实例形式简述了Python中字符串类型与字典类型相互转换的方法,是比较实用的功能。具体方法如下: 一、字典(dict)转为字符串(string) 我们可以比较容易的将字典(dict)类型转为字符串(string)类型。 通过遍

  • 本文向大家介绍JSON字符串和对象相互转换实例分析,包括了JSON字符串和对象相互转换实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了JSON字符串和对象相互转换方法。分享给大家供大家参考,具体如下: 同事问了我一个问题——server端返回了一个json结构的字符串,怎么样去访问json对象里面的值?jquery有没有对返回的JSON数据进行解析? 我自己写了一个小的demo,还

  • 问题内容: 我是JSON和REST的新手。我正在使用返回如下字符串的服务器: 我已经设法在控制台上将它们打印为字符串,但是现在我想将它们转换为JSON数组。到目前为止,我拥有的代码没有返回任何错误,但是我不知道在新JSON数组的构造函数中要放置什么。我一直在指的是一位同事发送给我的一段代码,其中的构造函数是新的JSONArray(response),但他从未告诉我什么是“响应”。 问题答案: 使用

  • 本文向大家介绍python实现字符串和日期相互转换的方法,包括了python实现字符串和日期相互转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了python实现字符串和日期相互转换的方法。分享给大家供大家参考。具体分析如下: 这里用的分别是time和datetime函数 输出结果为: 符: %a 英文星期简写 %A 英文星期的完全 %b 英文月份的简写 %B 英文月份的完全 %c