返回顶部
首页 > 资讯 > 后端开发 > GO >Golang怎么实现Json转结构体
  • 558
分享到

Golang怎么实现Json转结构体

2023-07-05 04:07:44 558人浏览 八月长安
摘要

这篇文章主要讲解了“golang怎么实现JSON转结构体”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang怎么实现json转结构体”吧!请求Zabbix api,通过itemid获取

这篇文章主要讲解了“golang怎么实现JSON转结构体”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang怎么实现json转结构体”吧!

请求Zabbix api,通过itemid获取到AppName(应用集名称)

package mainimport ( "encoding/json" "fmt" "io/ioutil" "log" "net/Http" "strings")func PostRequest(payload string, url string) { method := "POST" pl := strings.NewReader(payload) client := &http.Client{} req, err := http.NewRequest(method, url, pl) if err != nil {  fmt.Println(err)  return } req.Header.Add("Content-Type", "application/json") res, err := client.Do(req) if err != nil {  fmt.Println(err)  return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil {  log.Println(err)  return } fmt.Println(string(body))}func main() { const api = "http://192.168.11.11:28080/api_jsonrpc.PHP" const token = "a638200c24a8bea7f78cd5cabf3D1dd5" const itemid = "33918" a := fmt.Sprintf(`{  "jsonrpc": "2.0",  "method": "application.get",  "params": {"itemids": "%s"},  "auth": "%s","id": 2  }`, itemid, token) PostRequest(a, api)}

响应结果:

{"jsonrpc":"2.0","result":[{"applicationid":"1574","hostid":"10354","name":"TEST","flags":"0","templateids":[]}],"id":2}

将响应结果(json)转结构体,方便取值

在原来代码的基础上,继续编码。

package mainimport ( "encoding/json" "fmt" "io/ioutil" "log" "net/http" "strings")type resultInfo struct { Applicationid string   `json:"applicationid"` Hostid        string   `json:"hostid"` Name          string   `json:"name"` Flags         string   `json:"flags"` Templateids   []string `json:"templateids"`}type resultArr []resultInfotype Response struct { Jsonrpc string    `json:"jsonrpc"` Result  resultArr `json:result` Id      int       `json:"id"`}type Byte []bytefunc JsonConvertStruct(body Byte) { var response Response json.Unmarshal([]byte(body), &response) fmt.Println(response.Result[0].Name)}func PostRequest(payload string, url string) { method := "POST" pl := strings.NewReader(payload) client := &http.Client{} req, err := http.NewRequest(method, url, pl) if err != nil {  fmt.Println(err)  return } req.Header.Add("Content-Type", "application/json") res, err := client.Do(req) if err != nil {  fmt.Println(err)  return } defer res.Body.Close() body, err := ioutil.ReadAll(res.Body) if err != nil {  log.Println(err)  return } JsonConvertStruct(body)}func main() { const api = "http://192.168.11.11:28080/api_jsonrpc.php" const token = "a638200c24a8bea7f78cd5cabf3d1dd5" const itemid = "33918" a := fmt.Sprintf(`{  "jsonrpc": "2.0",  "method": "application.get",  "params": {"itemids": "%s"},  "auth": "%s","id": 2  }`, itemid, token) PostRequest(a, api)}

结果:

TEST

感谢各位的阅读,以上就是“Golang怎么实现Json转结构体”的内容了,经过本文的学习后,相信大家对Golang怎么实现Json转结构体这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: Golang怎么实现Json转结构体

本文链接: https://lsjlt.com/news/349362.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Golang怎么实现Json转结构体
    这篇文章主要讲解了“Golang怎么实现Json转结构体”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang怎么实现Json转结构体”吧!请求Zabbix API,通过itemid获取...
    99+
    2023-07-05
  • Golang如何实现Json转结构体
    这篇文章主要讲解了“Golang如何实现Json转结构体”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Golang如何实现Json转结构体”吧!请求Zabbix API,通过itemid获取...
    99+
    2023-07-05
  • go json转结构体怎么实现
    要将JSON转换为结构体,可以使用encoding/json包提供的Unmarshal函数。以下是一个简单的示例: package ...
    99+
    2024-02-29
    go json
  • Golang实现Json转结构体的示例详解
    解决实际需求,案例分享。 1.请求Zabbix API,通过itemid获取到AppName(应用集名称) package main import (  "encoding/jso...
    99+
    2023-02-19
    Golang Json转结构体 Golang Json 结构体
  • golang结构体序列化怎么实现
    在Go中,可以使用encoding/json包来实现结构体的序列化和反序列化。 首先,需要导入encoding/json包: imp...
    99+
    2023-10-22
    golang
  • Golang结构体强转:实现原理与技巧详解
    golang 中结构体强转是将一种结构体类型的值转换为另一种类型。可以通过断言强转、反射强转、指针间接强转等技巧实现。断言强转使用类型断言,反射强转使用反射机制,指针间接强转避免值复制。...
    99+
    2024-04-03
    golang 结构体
  • C++类结构体与json相互转换
    目录1. 背景与需求2. 最终使用的样例代码3. 实现方法3.1 基础类型的转换3.2 类成员注册3.3 自定义类的转换3.4 外部调用接口1. 背景与需求 之前写C#的时候,解析j...
    99+
    2024-04-02
  • Golang怎么使用gob实现结构体的序列化
    本文小编为大家详细介绍“Golang怎么使用gob实现结构体的序列化”,内容详细,步骤清晰,细节处理妥当,希望这篇“Golang怎么使用gob实现结构体的序列化”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Gol...
    99+
    2023-07-05
  • vb.net结构体byte数组相互转换怎么实现
    在VB.NET中,可以使用Marshal类的PtrToStructure方法和StructureToPtr方法来实现结构体和字节数组...
    99+
    2023-10-24
    vb.net
  • go语言string转结构体的实现
    在 Go 语言中,可以使用标准库中的 encoding/json 包将 JSON 格式的字符串转换为结构体。 假设有以下 JSON 字符串: { "name": "鸡哥", ...
    99+
    2023-03-19
    go语言string转结构体 go string 结构体
  • 怎么在golang中实现两个结构体复制字段
    怎么在golang中实现两个结构体复制字段?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。golang的优点golang是一种编译语言,可以将代码编译为机器代码,...
    99+
    2023-06-14
  • 实例分析:如何在Golang中实现高效的结构体强转
    对于一个Golang开发者来说,牢固扎实的基础是十分重要的,编程网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《实例分析:如何在Golang中实现高效的结构体强转》,主要介绍了,希望对大...
    99+
    2024-04-05
  • golang 实现两个结构体复制字段
    实际工作中可能会有这样的场景: 两个结构体(可能类型一样), 字段名和类型都一样, 想复制一个结构体的全部或者其中某几个字段的值到另一个(即merge操作), 自然想到可以用反射实现...
    99+
    2024-04-02
  • golang中结构体嵌套接口的实现
    在golang中结构体A嵌套另一个结构体B见的很多,可以扩展A的能力。 A不仅拥有了B的属性,还拥有了B的方法,这里面还有一个字段提升的概念。 示例: package main i...
    99+
    2023-05-14
    golang 结构体嵌套接口 golang 嵌套接口
  • Python实现结构体
    #!/usr/bin/python import sys class MyClass(): def __init__(self, name = ""): self.name = name ...
    99+
    2023-01-31
    结构 Python
  • 怎么在C++中将结构体与Json字符串进行转换
    本篇文章给大家分享的是有关怎么在C++中将结构体与Json字符串进行转换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。type Person struct&...
    99+
    2023-06-14
  • go语言string转结构体如何实现
    这篇“go语言string转结构体如何实现”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“go语言string转结构体如何实现...
    99+
    2023-07-05
  • Golang如何实现不被复制的结构体
    这篇文章主要介绍“Golang如何实现不被复制的结构体”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Golang如何实现不被复制的结构体”文章能帮助大家解决问题。不允许复制的结构体sync包中的许多...
    99+
    2023-07-05
  • golang中结构体嵌套接口如何实现
    今天小编给大家分享一下golang中结构体嵌套接口如何实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。在golang中结构...
    99+
    2023-07-05
  • 用golang实现接口和结构的转换
    go语言中,可以使用断言完成接口转换和结构转换。接口转换包括类型断言和值断言,用于将值从一个接口类型转换为另一个接口类型。结构转换则用于将一个结构转换为另一个结构。 Go 中使用断言实...
    99+
    2024-04-08
    接口 结构 golang go语言
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作