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乱码,怎么解决这个问题呢 ...
随机推荐
- leetcode解题报告(19):Contains Duplicate II
描述 Given an array of integers and an integer k, find out whether there are two distinct indices i an ...
- 爬虫与seo优化
爬虫及爬行方式 爬虫有很多名字,比如web机器人.spider等,它是一种可以在无需人类干预的情况下自动进行一系列web事务处理的软件程序.web爬虫是一种机器人,它们会递归地对各种信息性的web站点 ...
- Redis Mysql 双写一致性问题
一:序 - 最近在对数据做缓存时候,会涉及到如何保证 数据库/Redis 一致性问题. - 刚好今天来总结下 一致性问题 产生的问题,和可能存在的解决方案. 二:(更新策略)- 先更新数据库,后更新 ...
- BIOS 中断大全
BIOS中断: 1.显示服务(Video Service--INT 10H) 00H -设置显示器模式0CH -写图形象素 01H -设置光标形状0DH -读图形象素 02H -设置光标位置0EH ...
- .Net类库 压缩文件 与 Ionic.Zip 批量压缩不同目录文件与解压 文件
using System; using System.IO; using System.IO.Compression; using System.Linq; using System.Text; us ...
- zookeeper 随记
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务. zookeeper的几种模式: 1.单点模式 2.分布式集群模式,节点运行在多台机器 3.单点多实例 在这里只介绍单点多实例安装. ...
- idea 2019激活码
9MWZD5CC4E-eyJsaWNlbnNlSWQiOiI5TVdaRDVDQzRFIiwibGljZW5zZWVOYW1lIjoiMjAxNzY1MDYxQGNxdS5lZHUuY24gLiIsI ...
- SpringBoot-自动装配对象及源码ImportSelector分析
SpringBoot框架已经很流行了,笔者做项目也一直在用,使用久了,越来越觉得有必要理解SpringBoot框架中的一些原理了,目前的面试几乎都会用问到底层原理.我们在使用过程中基本上是搭建有一个框 ...
- IDEA使用(03)_git撤回(已经commit未push的)操作
1.问题来源 日常工作中会遇到 commit 到本地仓库的代码,因为一些原因,需要撤销后再提交到本地,或者需要整合多次 commit,然后 push 到远程仓库. 2.IDEA解决方案 I.在idea ...
- 基础数据结构 对应 基础api
<深入理解Redis> mastering redis