返回顶部
首页 > 资讯 > 精选 >我如何解组 JSON 数据并将其存储在 Go 中的结构中
  • 113
分享到

我如何解组 JSON 数据并将其存储在 Go 中的结构中

go语言 2024-02-11 20:02:43 113人浏览 八月长安
摘要

PHP小编草莓分享一种解组JSON数据并将其存储在Go语言结构中的方法。jsON是一种常用的数据交换格式,Go语言提供了方便的解析和处理JSON数据的工具包。通过使用Go语言内置的"j

PHP小编草莓分享一种解组JSON数据并将其存储在Go语言结构中的方法。jsON是一种常用的数据交换格式,Go语言提供了方便的解析和处理JSON数据的工具包。通过使用Go语言内置的"json"包,我们可以轻松地将JSON数据解组成相应的结构体,并进行存储和处理。这种方法简单易懂,能够帮助开发者高效地处理JSON数据,提升开发效率。下面我们来详细介绍如何使用Go语言解组JSON数据,并将其存储在结构体中。

问题内容

这是我在程序中使用 go struct 存储的 json 测试数据

[
  {
    "id": 393,
    "question": "the \"father\" of Mysql is ______.",
    "description": null,
    "answers": {
      "answer_a": "bill joy",
      "answer_b": "stephanie wall",
      "answer_c": "bill gates",
      "answer_d": "michael widenius",
      "answer_e": null,
      "answer_f": null
    },
    "multiple_correct_answers": "false",
    "correct_answers": {
      "answer_a_correct": "false",
      "answer_b_correct": "false",
      "answer_c_correct": "false",
      "answer_d_correct": "true",
      "answer_e_correct": "false",
      "answer_f_correct": "false"
    },
    "correct_answer": "answer_a",
    "explanation": null,
    "tip": null,
    "tags": [
      {
        "name": "mysql"
      }
    ],
    "category": "sql",
    "difficulty": "medium"
  }
]

这是我编写的用于存储数据的函数,但无法获得正确的响应,而不是在打印时得到一个空白结构

func FetchQuiz(num int, category string) {
    // write code to read json file
    jsonFile, err := os.Open("test.json")
    if err != nil {
        fmt.Println(err)
    }
    defer jsonFile.Close()

    byteValue, _ := ioutil.ReadAll(jsonFile)

    fmt.Println(string(byteValue))

    type Data struct {
        ID          int
        Question    string
        Description string
        Answers     struct {
            A string
            B string
            C string
            D string
            E string
            F string
        }
        MultipleCorrectAnswers string
        CorrectAnswers         struct {
            A string
            B string
            C string
            D string
            E string
            F string
        }

        CorrectAnswer string
        Explanation   string
        Tip           string
        Tags          []struct {
            Name string
        }
        Category   string
        Difficulty string
    }

    var QuizList2 []Data

    if err := json.Unmarshal(byteValue, &QuizList2); err != nil {
        fmt.Println(err.Error())
    }

    fmt.Println(QuizList2)

但得到的响应是[{393 mysql的“父亲”是______。 { } { } [{mysql}] sql medium}]我已经尝试了一切方法来解决它,但没有达到响应

解决方法

json 字段 answer_a 不会单独映射到 go 字段 a

更改 go 字段的名称以匹配 json 字段的名称(忽略大小写):

answer_a string

或者在您的字段中使用 go struct 标记

A string `json:"answer_a"`

对与相应 json 字段不匹配的其余 go 字段执行相同的操作。

以上就是我如何解组 JSON 数据并将其存储在 Go 中的结构中的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: 我如何解组 JSON 数据并将其存储在 Go 中的结构中

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

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

猜你喜欢
  • 我如何解组 JSON 数据并将其存储在 Go 中的结构中
    php小编草莓分享一种解组JSON数据并将其存储在Go语言结构中的方法。JSON是一种常用的数据交换格式,Go语言提供了方便的解析和处理JSON数据的工具包。通过使用Go语言内置的"j...
    99+
    2024-02-11
    go语言
  • JavaScript 对象作为数据结构:探索其在存储和组织数据中的用途
    JavaScript 对象是 JavaScript 中用于存储和组织数据的强大数据结构。它们可以包含属性、方法和嵌套对象,使其成为存储复杂数据的理想选择。 存储数据 对象可以存储任何类型的 JavaScript 值,包括字符串、数字、布尔...
    99+
    2024-03-13
    JavaScript 对象作为数据结构
  • Go 语言中的数组和打包:如何将数据存储在硬盘上?
    Go 语言是一种开源的编程语言,它是由 Google 公司开发的。它是一种类型安全且具有垃圾回收机制的编程语言。Go 语言支持数组和打包,这使得它成为一种非常有用的编程语言。在本文中,我们将探讨在 Go 语言中如何使用数组和打包来存储数据。...
    99+
    2023-07-01
    存储 数组 打包
  • Html5中如何使用localStorage存储JSON数据并读取JSON数据
    这篇文章将为大家详细讲解有关Html5中如何使用localStorage存储JSON数据并读取JSON数据,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。localStor...
    99+
    2024-04-02
  • 如何在Go语言中高效存储数组数据?
    Go语言中的数组是一种基本的数据结构,它可以存储一组相同类型的数据。但是,对于大型数组的存储和操作,可能会导致性能问题。本文将介绍如何在Go语言中高效存储数组数据。 一、使用切片 Go语言中的切片是一个动态数组,可以根据需要自动扩展和收缩。...
    99+
    2023-11-06
    索引 数组 存储
  • 我应该如何在 Postgres 中存储 Go 的 time.Location ?
    你在学习Golang相关的知识吗?本文《我应该如何在 Postgres 中存储 Go 的 time.Location ?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大...
    99+
    2024-04-04
  • 如何最好地将 JSON 数据规范化为 Go 中的 API 结构体
    php小编西瓜在这里带来了一篇关于如何将JSON数据规范化为Go中的API结构体的精简指南。在现代Web应用程序中,与JSON数据打交道是常见的任务。Go语言作为一门强大的后端语言,提...
    99+
    2024-02-13
    go语言
  • 构建一个 golang 结构来存储解析后的 JSON 文件中的数据
    “纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《构建一个 golang 结构来存储解析后的 JSON 文件中的数据》后,能够真的帮助到大家。我也会在后续的文章中...
    99+
    2024-04-05
  • 如何在 Go 中使用数组存储和打包数据?
    Go 是一种强类型的编程语言,它提供了多种数据类型,其中数组是一种非常常用的数据类型。在 Go 中使用数组来存储和打包数据是一种非常常见的操作。在本文中,我们将介绍如何在 Go 中使用数组来存储和打包数据。 什么是数组? 数组是一种存储固定...
    99+
    2023-07-01
    存储 数组 打包
  • 如何将PHP数组存储在Spring容器中?
    Spring是一个流行的Java框架,它提供了一个容器来管理应用程序中的对象。Spring容器可以帮助我们管理对象的生命周期,并提供依赖注入的功能。在这篇文章中,我们将探讨如何将PHP数组存储在Spring容器中。 首先,我们需要使用Sp...
    99+
    2023-06-19
    spring 数组 容器
  • 如何理解C语言数据结构中线性表的链式存储结构
    如何理解C语言数据结构中线性表的链式存储结构,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1.什么是线性表的链式存储结构 —链表存储结点:包括元素本身的信息,还有元素之间的关系...
    99+
    2023-06-21
  • Go 语言中的数组和打包:如何在内存中存储和管理数据?
    Go 语言是一种编译型、并发的、静态类型的语言,它支持面向对象、函数式、过程式和并发编程等多种编程范式。在 Go 语言中,数组和打包是两个非常重要的概念,它们对于内存的管理和数据的存储都起着至关重要的作用。本文将介绍在 Go 语言中如何使...
    99+
    2023-07-01
    存储 数组 打包
  • SpringBoot中如何处理MySQL中存储的JSON数据?
    目录 一、MySQL中如何保存JSON类型的数据 1.1 建表 1.2 保存一条带json的记录 1.3 查询 二、Springboot操作当前数据库表 2.1 方式一(推荐) 2.2 方式二 JSON(JavaScript Object...
    99+
    2023-09-03
    spring boot mysql json
  • 详解如何在Go语言中循环数据结构
    目录如何在Go中循环字符串如何在Go中循环map结构如何在Go中循环Struct数组是存储类似类型数据的强大数据结构。您可以通过索引识别和访问其中的元素。 在Golang中,您可以通...
    99+
    2024-04-02
  • 如何将python中的数据存储到mysql中
    目录 一、最基本的准备 1.1 本地安装mysql,推荐安装以下其中之一  1.2 安装python软件 二、建立连接 1.1打开PyCharm编程软件  1.2 打开mysql软件,否则连接不上  1.3 在python环...
    99+
    2023-09-07
    mysql 数据库
  • 数组是如何在内存中存储的?
    数组在内存中顺序存储,每个元素占据连续地址,起始于数组首地址。 数组在内存中的存储 数组是一种数据结构,它存储了多个具有相同数据类型的元素。这些元素在内存中是连续存储的,就像一个列表一...
    99+
    2024-05-23
    内存 数组
  • 如何在ASP中创建数组并将其打包为接口?
    ASP是一种常见的Web开发语言,它允许开发人员创建动态Web应用程序。在ASP中,数组是一种非常有用的数据结构,它们允许开发人员存储和操作一组相关的值。在本文中,我们将学习如何在ASP中创建数组并将其打包为接口。 创建数组 在ASP中,您...
    99+
    2023-07-31
    数组 打包 接口
  • Go中如何遍历并发访问安全的数据结构
    在Go中,可以使用通道(channel)来实现并发访问安全的数据结构。通过在数据结构上使用互斥锁(mutex)或读写锁(RWMute...
    99+
    2024-04-03
    Go
  • 在 Go 中将 Excel 文件数据转换为 JSON 字符串,无需任何结构体定义
    问题内容 我是 go 语言新手。我有一个要求,应用程序将读取 excel 文件并将其转换为 json 字符串,而不依赖于任何定义的结构。我探索了一些库,其中要么需要此结构定义,要么至少...
    99+
    2024-02-06
  • 解析常见的数据结构在Go语言中
    Go语言是近年来备受关注和应用的一种编程语言,其简洁、高效和并发性能受到了广大开发者的喜爱。在Go语言中,数据结构是开发过程中不可或缺的一部分,它能够有效地组织和存储数据,提高程序的性能和可维护性。本文将介绍...
    99+
    2024-01-18
    Go语言 数据结构 解析
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作