iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >将 json 文件编组到地图中
  • 490
分享到

将 json 文件编组到地图中

2024-04-05 00:04:23 490人浏览 泡泡鱼
摘要

有志者,事竟成!如果你在学习golang,那么本文《将 JSON 文件编组到地图中》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~问题内

有志者,事竟成!如果你在学习golang,那么本文《将 JSON 文件编组到地图中》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~

问题内容

我有一个较大的(10mb)json 文件,我正在尝试将其解组到地图中,以便在需要时可以从内存中读取它。我的问题是,我无法弄清楚如何通过 json 中每行的 id 对地图进行键控,即使这是解决问题的惯用方法。

它包含大量嵌套数据,但为了简单起见,它基本上是这样的:

[{"id": "086687173", "count": 5}, {"id": "078382574", "count": 3}]

type Item struct {
    Id string `json:"id"`
    Count int `json:"count"`
}

data := []Item  // am able to marshal into an array
data := make(map[string]Item) // cannot unmarshal array into Go value of type map[string]Item


bytes, _ := ioutil.ReadFile("./templates/data.json")
err := json.Unmarshal(bytes, &data)

fmt.Println(data)


解决方案


我的问题是我不知道如何通过 id 为地图设置键

您无法为地图编制索引,因为您没有任何地图。

您的输入 json 是一个 json 数组,因此您可以将其解组到 go 切片中。之后你必须自己构建一个 go 地图。然后您可以通过 id 索引该地图:

m := map[string]*item{}
for i := range data {
    m[data[i].id] = &data[i]
}

fmt.println(m)
fmt.println(m["086687173"])
fmt.println(m["078382574"])

这将输出(在 Go Playground 上尝试):

[{086687173 5} {078382574 3}] <nil>
map[078382574:0x43015c 086687173:0x430150]
&{086687173 5}
&{078382574 3}

请注意,如果您最初使用指针切片 []*item,创建地图会更简单:

m := map[string]*Item{}
for _, item := range data {
    m[item.Id] = item
}

输出是一样的。请拨打 Go Playground 试试这个。

到这里,我们也就讲完了《将 json 文件编组到地图中》的内容了。个人认为,基础知识的学习和巩固,是为了更好的将其运用到项目中,欢迎关注编程网公众号,带你了解更多关于的知识点!

您可能感兴趣的文档:

--结束END--

本文标题: 将 json 文件编组到地图中

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 将 json 文件编组到地图中
    有志者,事竟成!如果你在学习Golang,那么本文《将 json 文件编组到地图中》,就很适合你!文章讲解的知识点主要包括,若是你对本文感兴趣,或者是想搞懂其中某个知识点,就请你继续往下看吧~问题内...
    99+
    2024-04-05
  • Linux中怎么将文件隐藏到图像中
    今天就跟大家聊聊有关Linux中怎么将文件隐藏到图像中,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。方法一这个方法不需要任何额外的软件。只需拥有基本的Linux命令行知识即可。我有一...
    99+
    2023-06-05
  • Angular中导入本地JSON文件
    这篇文章主要介绍了Angular中导入本地JSON文件,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 第一种Angular从6.1+开始支持Typescript2.9+,...
    99+
    2023-06-15
  • 在 Go 中将文件从本地文件夹移动到 s3 存储桶
    小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《在 Go 中将文件从本地文件夹移动到 s3 存储桶》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分...
    99+
    2024-04-05
  • 如何将本地文件上传到gitlab上
    随着云计算技术的发展和普及,越来越多的软件开发项目都开始采用云端的代码管理平台来进行协作和管理。其中,GitLab因为其简单易用、功能强大等优点,成为了很多企业和开发团队的首选。但是,对于一些开发者来说,如何将本地文件上传到GitLab上还...
    99+
    2023-10-22
  • java如何将hdfs文件下载到本地
    可以使用FileSystem类和FSDataInputStream类来实现将HDFS文件下载到本地。 import org.apac...
    99+
    2024-04-02
  • 如何将PHP对象数组保存到文件中?
    在PHP开发中,我们经常需要将对象数组保存到文件中,以便于后续的读取和处理。这篇文章将会介绍如何将PHP对象数组保存到文件中,同时提供相应的代码演示。 一、使用serialize()函数 PHP中提供了一个serialize()函数,可以将...
    99+
    2023-08-26
    对象 数组 文件
  • Angular中如何导入本地JSON文件
    这篇文章主要讲解了“Angular中如何导入本地JSON文件”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Angular中如何导入本地JSON文件”吧!An...
    99+
    2024-04-02
  • 如何将本地文件传到云服务器
    要将本地文件传输到云服务器,您可以按照以下步骤进行操作:1. 登录到您的云服务器。您可以通过SSH登录到您的云服务器。2. 在本地计...
    99+
    2023-09-16
    云服务器
  • 阿里云ECS如何将文件拿到本地
    阿里云ECS是一款高性能的云计算服务器产品,可以满足各种业务需求。但是,有时候我们可能需要将阿里云ECS上的文件拿到本地,这样可以方便我们进行本地处理或者离线备份等操作。本文将详细介绍如何通过命令行方式将阿里云ECS上的文件拿到本地。 详细...
    99+
    2023-11-23
    阿里 如何将 文件
  • NodeJS中怎么将文件或图像上传到服务器
    这期内容当中小编将会给大家带来有关NodeJS中怎么将文件或图像上传到服务器,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。创建空白的Node JS Web应用程序在package.json中设置依赖关系开...
    99+
    2023-06-17
  • 如何在 Go 中将 csv 文件规范化 (1:N) 为地图?
    问题内容 我正在尝试规范化 csv 文件的结构,如下所示: name, note 'joe', 5 'joe', 3 'ashley', 1 'ashley', 7 'ashley',...
    99+
    2024-02-06
  • 在 Go 中将时间编组为 JSON 之前如何将时间转换为 UTC?
    在Go语言中,将时间转换为UTC之前,我们可以使用time包中提供的函数和方法来进行处理。首先,我们可以使用time.Now()函数获取当前的本地时间。然后,使用time.LoadLo...
    99+
    2024-02-09
    go语言
  • dreamweaver中怎么将文字放到图片上
    这篇文章主要讲解了“dreamweaver中怎么将文字放到图片上”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“dreamweaver中怎么将文字放到图片上”吧!小编这里用CS6版本演示,首先...
    99+
    2023-06-08
  • PHP将 XBM 图像输出到浏览器或文件
    这篇文章将为大家详细讲解有关PHP将 XBM 图像输出到浏览器或文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 输出 XBM 图像 XBM(X BitMap)是一种黑白位图图像格式,以 ASCI...
    99+
    2024-04-02
  • PHP将 GD 图像输出到浏览器或文件
    这篇文章将为大家详细讲解有关PHP将 GD 图像输出到浏览器或文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 将 GD 图像输出到浏览器或文件 引言 PHP GD 库为处理图像提供了强大的功能,...
    99+
    2024-04-02
  • C#如何将图片保存到一个XML文件
    这篇文章将为大家详细讲解有关C#如何将图片保存到一个XML文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。将图片保存到一个XML文件WinForm的资源文件中,将PictureBox的Image属性等非...
    99+
    2023-06-26
  • PHP将 GD2 图像输出到浏览器或文件
    这篇文章将为大家详细讲解有关PHP将 GD2 图像输出到浏览器或文件,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 将 GD2 图像输出到浏览器或文件 PHP 中的 GD2 库提供了丰富的功能,用于...
    99+
    2024-04-02
  • 使用PHP的file()函数将文件内容读取到数组中
    使用PHP的file()函数将文件内容读取到数组中在PHP中,可以使用file()函数将文件内容读取到数组中。file()函数会将文件的每一行读取为数组中的一个元素,并返回该数组。下面是一个具体的代码示例,来演示如何使用file()函数实现...
    99+
    2023-11-03
    - PHP - 数组 - file()
  • PHP中JSON编码解码遇到中文乱码怎么办?
    PHP中使用JSON编码和解码时,遇到中文乱码是一个常见问题。这通常是由于服务器端和客户端之间字符编码不统一导致的。下面将详细介绍在PHP中遇到JSON编码解码中文乱码时的解决方案,同...
    99+
    2024-03-08
    json处理 中文乱码 php编码解码
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作