1. package main
  2. import (
  3. "fmt"
  4. "encoding/json"
  5. )
  6. type ItemMessage struct {
  7. ItemType int `json:"itemType"`
  8. ItemId int `json:"itemId"`
  9. ItemCount int `json:"itemCount"`
  10. GoodsStatue *GoodsStatue
  11. }
  12. type GoodsStatue struct{
  13. GoodsId int
  14. GoodsPrice int
  15. }
  16. func main() {
  17. JsonString := make(map[int]string)
  18. item := make(map[int]*GoodsStatue)
  19. JsonString[0] = `{"itemType": 1, "itemId": 2, "itemCount": 3, "GoodsStatue":{"GoodsId": 123, "GoodsPrice": 22}}`
  20. JsonString[1] = `{"itemType": 4, "itemId": 5, "itemCount": 6, "GoodsStatue":{"GoodsId": 456, "GoodsPrice": 33}}`
  21. for k, v := range JsonString{
  22. var res ItemMessage
  23. json.Unmarshal([]byte(v), &res)
  24. item[k] = res.GoodsStatue
  25. }
  26. for k, v := range item{
  27. fmt.Printf("k= %+v, v=%+v\n", k, *v)
  28. }
  29. }
  1. package main
  2. import (
  3. "fmt"
  4. "encoding/json"
  5. )
  6. type ItemMessage struct {
  7. ItemType int `json:"itemType"`
  8. ItemId int `json:"itemId"`
  9. ItemCount int `json:"itemCount"`
  10. GoodsStatue *GoodsStatue
  11. }
  12. type GoodsStatue struct{
  13. GoodsId int
  14. GoodsPrice int
  15. }
  16. func main() {
  17. var item ItemMessage
  18. xsk := `{"itemType": 1, "itemId": 2, "itemCount": 3, "GoodsStatue":{"GoodsId": 123, "GoodsPrice": 22}}`
  19. json.Unmarshal([]byte(xsk), &item)
  20. fmt.Printf("item= %+v item.GoodsStatue=%+v\n", item, *item.GoodsStatue)
  21. }
  1. package main
  2. import (
  3. "fmt"
  4. "encoding/json"
  5. )
  6. type ItemMessage struct {
  7. ItemType int `json:"itemType"`
  8. ItemId int `json:"itemId"`
  9. ItemCount int `json:"itemCount"`
  10. GoodsStatue *GoodsStatue
  11. }
  12. type GoodsStatue struct{
  13. GoodsId int
  14. GoodsPrice int
  15. }
  16. func main() {
  17. item := make(map[int][]ItemMessage, 10)
  18. JsonString := make(map[int]string)
  19. JsonString[0] = `{"itemType": 1, "itemId": 2, "itemCount": 3, "GoodsStatue":{"GoodsId": 123, "GoodsPrice": 22}}`
  20. JsonString[1] = `{"itemType": 4, "itemId": 5, "itemCount": 6, "GoodsStatue":{"GoodsId": 456, "GoodsPrice": 33}}`
  21. for k, v := range JsonString{
  22. var res ItemMessage
  23. json.Unmarshal([]byte(v), &res)
  24. item[k] = append(item[k], res)
  25. }
  26. for k,v := range item{
  27. fmt.Printf("item=%+v item.GoodsStatue=%+v\n", item[k], *v[0].GoodsStatue)
  28. }
  29. }

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. MongoDB 3.2变动一览

    3.2测试版本总算release了!E叔带大家来一览MongoDB 3.2版本的真容. (PS:内容比较多,在此仅针对个人认为比较重要的进行讲解,markdown写的,貌似WP的markdown插件有 ...

  2. kubernetes 部署metricserver

    本篇适用于kubeadm部署的k8s的集群 安装环境:首先要部署好k8s的集群,版本是1.11.1,我的虚拟机部署的,一个master节点,一个node节点.笔记本性能有限 下载metrics-ser ...

  3. centos7haproxy+keepalive

    1部署keepalived 1.1下载keepalived源码包,并解压# wget http://www.keepalived.org/software/keepalived-1.4.2.tar.g ...

  4. java中int 和String相互转换

    一.String转为int int i=Integer.parseInt(string):int i=Integer.valueOf(s).intValue(); 二.int转为String Stri ...

  5. android通用的UUID唯一标示符

    http://stackoverflow.com/questions/2785485/is-there-a-unique-android-device-id 版权声明:本文为博主原创文章,未经博主允许 ...

  6. 【Python代码】随机抽取文件名列表NameList中的Name作为训练集

    #!/usr/bin/env python #coding=utf-8 #随机抽取一部分图片作为测试集 import random NameList=[]#存储所有图片名字 ''' NameListP ...

  7. java把一段时间分成周,月,季度,年的时间段

    package com.mq.test.activeMQ; import java.text.DateFormat; import java.text.ParseException; import j ...

  8. Go --- 七牛云 上传文件 & Token demo

    package main import ( "bytes" "crypto/hmac" "crypto/sha1" "encodi ...

  9. PHP使用MongoDB存储经纬度,查询距离

    https://blog.csdn.net/qq_40012295/article/details/84861466 https://docs.mongodb.com/manual/reference ...

  10. Docs-.NET-C#-指南-语言参考-预处理器指令:C# 预处理器指令

    ylbtech-Docs-.NET-C#-指南-语言参考-预处理器指令:C# 预处理器指令 1.返回顶部 1. C# 预处理器指令 2015/07/20 本节介绍了以下 C# 预处理器指令: #if ...