【golang】json数据解析 - 嵌套json解析

简介: 【golang】json数据解析 - 嵌套json解析

1. 通过结构体映射解析

原数据结构

解析

// 结构体
type contractJson struct {
  Data  []transaction `json:"data"`
  Total int           `json:"total"`
}
// data下的数组
type transaction struct {
  Result       string `json:"result"`
  OwnerAddress string `json:"ownerAddress"`
}

    // rs是http请求返回的数据
    rs := string(body)
    if rs == "" {
      return nil
    }

    contractJson1 := contractJson{}
    err := json.Unmarshal([]byte(rs), &contractJson1)
    if err != nil {
      log.Fatal(err)
    }
    fmt.Println(contractJson1.Data[1])

2. 嵌套json解析-map

// http请求返回的json数据
result := SendHttp(urls, method, rawurl, cookie)
  fmt.Println(result)

  // 定义make(map[string]interface{})
  r := make(map[string]interface{})
  fmt.Println([]byte(result))
  // 调用标准库encoding/json的Unmarshal
  // 将JSON数据(JSON以字符串形式表示)转换成[]byte,并将数据加载到对象r的内存地址
  json.Unmarshal([]byte(result), &r)
  // r["data"]是读取JSON最外层的key
  // 如果嵌套JSON数据,则使用map[string]interface{}读取下一层的JSON数据
  // 如读取key为data里面嵌套的result:r["data"].(map[string]interface{})["result"]
  // 如果JSON的某个key的数据以数组表示,则使用([]interface{})[index]读取数组中某个数据。
  // 如读取key为result的第四个数据:r["data"].(map[string]interface{})["result"].([]interface{})[3]
  fmt.Println(r["data"].(map[string]interface{})["result"].([]interface{})[3])
  
目录
相关文章
|
5天前
|
存储 JSON JavaScript
【chat-gpt问答记录】python将数据存为json格式和yaml格式
【chat-gpt问答记录】python将数据存为json格式和yaml格式
16 1
|
1天前
|
XML 数据采集 前端开发
五:爬虫-数据解析之xpath解析
本篇文章主要讲述了数据解析中的xpath解析,及相对路径的定位语法。最后以爬取豆瓣top250首页作为示例总结
17 5
五:爬虫-数据解析之xpath解析
|
7天前
|
JSON 关系型数据库 MySQL
实时计算 Flink版产品使用问题之在使用CDAS语法同步MySQL数据到Hologres时,如果开启了字段类型宽容模式,MySQL中的JSON类型会被转换为什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
9天前
|
Go
golang解析excel、csv编码格式
golang解析excel、csv编码格式
11 4
|
9天前
|
JSON API 数据格式
如何用 Python 的 requests 库发送 JSON 数据的 POST 请求
使用 requests 库发送 JSON 数据的 POST 请求是一个非常简单且实用的操作。通过将目标 URL 和 JSON 数据传递给 requests.post 方法,你可以轻松发送请求并处理响应。本篇文章介绍了从安装 requests 库,到发送 JSON 数据的 POST 请求,再到处理响应的整个流程。希望这篇文章能帮助你更好地理解并应用这个强大的 HTTP 请求库。
|
10天前
|
XML 数据格式 Python
Python使用xpath对解析内容进行数据提取
在前面的文章当中,已经教大家如何去获取我们需要的数据原文内容,今天就介绍一个用于提取所需数据的方法之一xpath。在后续会讲解bs4(beautifulsoup),re正则表达式。
|
6天前
|
JSON 资源调度 Kubernetes
实时计算 Flink版操作报错合集之解析JSON数组时,遇到报错,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
15天前
|
存储 JSON 分布式计算
DataWorks产品使用合集之如何在数据服务中处理JSON数据
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
36 11
|
10天前
|
存储 JSON JavaScript
使用Python处理JSON格式数据
使用Python处理JSON格式数据
|
18天前
|
JSON JavaScript IDE
JSON 数据格式化方法
JSON 数据格式化方法
29 3

推荐镜像

更多