golang json解析到map中
package main
import (
"fmt"
"encoding/json"
)
type ItemMessage struct {
ItemType int `json:"itemType"`
ItemId int `json:"itemId"`
ItemCount int `json:"itemCount"`
GoodsStatue *GoodsStatue
}
type GoodsStatue struct{
GoodsId int
GoodsPrice int
}
func main() {
JsonString := make(map[int]string)
item := make(map[int]*GoodsStatue)
JsonString[0] = `{"itemType": 1, "itemId": 2, "itemCount": 3, "GoodsStatue":{"GoodsId": 123, "GoodsPrice": 22}}`
JsonString[1] = `{"itemType": 4, "itemId": 5, "itemCount": 6, "GoodsStatue":{"GoodsId": 456, "GoodsPrice": 33}}`
for k, v := range JsonString{
var res ItemMessage
json.Unmarshal([]byte(v), &res)
item[k] = res.GoodsStatue
}
for k, v := range item{
fmt.Printf("k= %+v, v=%+v\n", k, *v)
}
}
package main
import (
"fmt"
"encoding/json"
)
type ItemMessage struct {
ItemType int `json:"itemType"`
ItemId int `json:"itemId"`
ItemCount int `json:"itemCount"`
GoodsStatue *GoodsStatue
}
type GoodsStatue struct{
GoodsId int
GoodsPrice int
}
func main() {
var item ItemMessage
xsk := `{"itemType": 1, "itemId": 2, "itemCount": 3, "GoodsStatue":{"GoodsId": 123, "GoodsPrice": 22}}`
json.Unmarshal([]byte(xsk), &item)
fmt.Printf("item= %+v item.GoodsStatue=%+v\n", item, *item.GoodsStatue)
}
package main
import (
"fmt"
"encoding/json"
)
type ItemMessage struct {
ItemType int `json:"itemType"`
ItemId int `json:"itemId"`
ItemCount int `json:"itemCount"`
GoodsStatue *GoodsStatue
}
type GoodsStatue struct{
GoodsId int
GoodsPrice int
}
func main() {
item := make(map[int][]ItemMessage, 10)
JsonString := make(map[int]string)
JsonString[0] = `{"itemType": 1, "itemId": 2, "itemCount": 3, "GoodsStatue":{"GoodsId": 123, "GoodsPrice": 22}}`
JsonString[1] = `{"itemType": 4, "itemId": 5, "itemCount": 6, "GoodsStatue":{"GoodsId": 456, "GoodsPrice": 33}}`
for k, v := range JsonString{
var res ItemMessage
json.Unmarshal([]byte(v), &res)
item[k] = append(item[k], res)
}
for k,v := range item{
fmt.Printf("item=%+v item.GoodsStatue=%+v\n", item[k], *v[0].GoodsStatue)
}
}
golang json解析到map中的更多相关文章
- go语言之进阶篇json解析到map
1.json解析到map(通过类型断言,找到值和value类型) 示例: package main import ( "encoding/json" "fmt" ...
- [GO]json解析到map
package main import ( "encoding/json" "fmt" ) var str string func main() { m := ...
- Golang ---json解析
golang官方为我们提供了标准的json解析库–encoding/json,大部分情况下,使用它已经够用了.不过这个解析包有个很大的问题–性能.它不够快,如果我们开发高性能.高并发的网络服务就无法满 ...
- golang timeoutHandler解析及kubernetes中的变种
Golang里的http request timeout比较简单,但是稍不留心就容易出现错误,最近在kubernetes生产环境中出现了的一个问题让我有机会好好捋一捋golang中关于timeout中 ...
- json解析转map
HashMap<String, Object> map = new HashMap<String, Object>(); JSONObject jsonObject = ...
- golang 标准库 sync.Map 中 nil 和 expunge 区别
本文不是 sync.Map 源码详细解读,而是聚焦 entry 的不同状态,特别是 nil 状态和 expunge 状态的区分. entry 是 sync.Map 存放值的结构体,其值有三种,分别为 ...
- TypeReference -- 让Jackson Json在List/Map中识别自己的Object
private Map<String, Object> buildHeaders(Object params) { ObjectMapper objectMapper = JacksonH ...
- go语言怎么从(json后的)多层map中取值
// 一个PHP中的多层关联数组,即Go中的多层map,如何从json字符串中解析,然后取到map中的某个具体的值. // 数据结构如下: cityInfo := "{ "stat ...
- iOS 中json解析数据出现中文乱码的问题
一般服务器的编码格式都是UTF8,这样通过json解析下来的的数据,一般中文是不会出现乱码,但是如果服务器的编码格式不是UTF8,通过json解析的数据中的中文容易出现luan乱码,怎么解决这个问题呢 ...
随机推荐
- QT项目之创建.pri文件
做大项目的时候,有很多.h和.cpp文件,会很繁琐.就需要.pri文件夹,将大项目分解成一个个的子项目,方便理清思绪和后期维护. 废话不多说,直接上过程! 第一步:新建一个项目.如图,选择choose ...
- Linux操作系统常用命令合集——第二篇- 用户和组操作(15个命令)
一.前言:本篇介绍用户和组操作的15个命令,在介绍之前我们先来看看几个示例 1.先进入到etc目录下,找到passwd文件,用vi编辑器查看: # vi /etc/passwd 解释:这里面存放着Li ...
- Other-Website-Contents.md
title: 本站目录 categories: Other sticky: 10 toc: true keywords: 机器学习基础 深度学习基础 人工智能数学知识 机器学习入门 date: 999 ...
- linux 搭建elk6.8.0集群并破解安装x-pack
一.环境信息以及安装前准备 1.组件介绍 *Filebeat是一个日志文件托运工具,在你的服务器上安装客户端后,filebeat会监控日志目录或者指定的日志文件,追踪读取这些文件(追踪文件的变化,不停 ...
- Pycharm 的常用快捷键
pycharm常用快捷键 1.编辑(Editing) Ctrl + Space 基本的代码完成(类.方法.属性) Ctrl + Alt + Space 快速导入任意类 Ctrl + Shift ...
- Python如何import其它.py文件及其函数
如上图所示,我想在test_1.py文件中import我在lstm_1.py中定义的LstmParam和 LstmNetwork.我直接采用的是最简单的引用方法:from lstm_1 impor ...
- IDEA构建支持cdh版本和scala的maven项目注意事项
工具和环境 idea2018.1 , scala2.11.8, scala的idea支持包,下载地址 maven3.3.9 win10系统 1.maven环境配置 下载解压maven包,(也可以使用i ...
- 小程序wx.showLoading的使用
比如说在用户点击登录的时候,为了防止用户点击点第二次,可以加一个loading,在请求结束之后就关闭
- 2018-2019-2 《网络对抗技术》 Exp6 信息搜集与漏洞扫描 20165222
1.实践目标 掌握信息搜集的最基础技能与常用工具的使用方法. 2.实践内容 (1)各种搜索技巧的应用 https://www.exploit-db.com/收集各种应用软件的漏洞,如tomcat服务器 ...
- chrome dev
chrome://plugins 为什么无法打开? Chrome插件问答 2018-03-02 13:34 最后又很多网友在我们 chrome插件 网反应说chrome://plugins 无 ...