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中的更多相关文章

  1. go语言之进阶篇json解析到map

    1.json解析到map(通过类型断言,找到值和value类型) 示例: package main import ( "encoding/json" "fmt" ...

  2. [GO]json解析到map

    package main import ( "encoding/json" "fmt" ) var str string func main() { m := ...

  3. Golang ---json解析

    golang官方为我们提供了标准的json解析库–encoding/json,大部分情况下,使用它已经够用了.不过这个解析包有个很大的问题–性能.它不够快,如果我们开发高性能.高并发的网络服务就无法满 ...

  4. golang timeoutHandler解析及kubernetes中的变种

    Golang里的http request timeout比较简单,但是稍不留心就容易出现错误,最近在kubernetes生产环境中出现了的一个问题让我有机会好好捋一捋golang中关于timeout中 ...

  5. json解析转map

    HashMap<String, Object> map = new HashMap<String, Object>();    JSONObject jsonObject = ...

  6. golang 标准库 sync.Map 中 nil 和 expunge 区别

    本文不是 sync.Map 源码详细解读,而是聚焦 entry 的不同状态,特别是 nil 状态和 expunge 状态的区分. entry 是 sync.Map 存放值的结构体,其值有三种,分别为 ...

  7. TypeReference -- 让Jackson Json在List/Map中识别自己的Object

    private Map<String, Object> buildHeaders(Object params) { ObjectMapper objectMapper = JacksonH ...

  8. go语言怎么从(json后的)多层map中取值

    // 一个PHP中的多层关联数组,即Go中的多层map,如何从json字符串中解析,然后取到map中的某个具体的值. // 数据结构如下: cityInfo := "{ "stat ...

  9. iOS 中json解析数据出现中文乱码的问题

    一般服务器的编码格式都是UTF8,这样通过json解析下来的的数据,一般中文是不会出现乱码,但是如果服务器的编码格式不是UTF8,通过json解析的数据中的中文容易出现luan乱码,怎么解决这个问题呢 ...

随机推荐

  1. oracle 备份恢复之recover database的四条语句区别

    1  recover database using backup controlfile2  recover database until cancel3  recover database usin ...

  2. MySQL数据库卸载有残留, windows10 sc delete 拒绝访问 失败5

    sc delete 拒绝访问,原因是当前用户的权限不足,需要做的是在注册表 HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\P ...

  3. Manthan, Codefest 19

    目录 Contest Info Solutions A. XORinacci B. Uniqueness C. Magic Grid D. Restore Permutation E. Let The ...

  4. cesium地下模式(地表透明)3

    这篇博客主要解决“瓦片的白色网格”问题 设置skirt=0可以解决这个问题,需要设置3个地方 1.HeightmapTerrainData.js createMesh方法 this._skirtHei ...

  5. hadoop--presto安装部署

    系统环境:hadoop + hive已经配置完成 1.下载presto:https://repo1.maven.org/maven2/com/facebook/presto/presto-server ...

  6. node.js 文件下载

    //下载参数 var http = require("http"); var fs = require("fs"); var path = require(&q ...

  7. CodeForces - 1189E Count Pairs(平方差)

    Count Pairs You are given a prime number pp, nn integers a1,a2,…,ana1,a2,…,an, and an integer kk. Fi ...

  8. Flutter移动电商实战 --(40)路由_Fluro的全局注入和使用方法

    路由注册到顶层,使每个页面都可以使用,注册到顶层就需要在main.dart中 main.dart注册路由 注入 onGenerateRoute是MaterialApp自带的路由配置项, 首页跳转到详细 ...

  9. SpringMVC源码分析--HandlerMappings

    之前分析过SpringMVC中的DispatcherServlet,分析了SpringMVC处理请求的过程.但忽略了一些DispatcherServlet协助请求处理的组件,例如SpringMVC中的 ...

  10. spring的事务是什么?与数据库的事务是否一样

    spring的事务是什么?与数据库的事务是否一样 先说一下什么是事务,事务:是对数据库的一些列操作. 之前一直觉得事务只针对于数据库当中,5种隔离级别,7种传播行为,后来才发现这是针对Spring的, ...