json串解析问题

bkzy-wangjp · 2019-11-28 23:41:43 · 684 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2019-11-28 23:41:43 的主题,其中的信息可能已经有所发展或是发生改变。

大神帮忙看看我这个程序的问题出在哪里了?总是差一些解析不出来正确的结果。

package main

import (
    "encoding/json"
    "fmt"
)

type hisData struct {
    Ms    string `json:"Ms"`
    Time  string `json:"Time"`
    Value string `json:"Value"`
}

func main() {
    str := `{
  "SF2WT.x1_zjs_sfc_ps20kt_4-5_100-1239_pv:1": [
    {
      "Ms": 0,
      "Value": "0",
      "Time": "2019/11/28 10:00:21.000"
    },
    {
      "Ms": 0,
      "Value": "68.75",
      "Time": "2019/11/28 10:00:59.000"
    },
    {
      "Ms": 0,
      "Value": "39.375",
      "Time": "2019/11/28 10:01:01.000"
    }
  ],
  "SF2WT.x1_zjs_sfc_ps20kt_4-5_100-1239_sum:1": [
    {
      "Ms": 0,
      "Value": "14.6875",
      "Time": "2019/11/28 10:01:03.000"
    },
    {
      "Ms": 0,
      "Value": "9.0625",
      "Time": "2019/11/28 10:01:05.000"
    },
    {
      "Ms": 0,
      "Value": "6.25",
      "Time": "2019/11/28 10:01:07.000"
    },
    {
      "Ms": 0,
      "Value": "12.5",
      "Time": "2019/11/28 10:01:09.000"
    }
  ]
}`
    type mp map[string][]hisData
    var v mp
    json.Unmarshal([]byte(str), &v)

    fmt.Println(fmt.Sprintf("%+v", v))
}

运行后的结果是: map[SF2WT.x1_zjs_sfc_ps20kt_4-5_100-1239_pv:1:[{Ms: Time:2019/11/28 10:00:21.000 Value:0} {Ms: Time:2019/11/28 10:00:59.000 Value:68.75} {Ms: Time:2019/11/28 10:01:01.000 Value:39.375}] SF2WT.x1_zjs_sfc_ps20kt_4-5_100-1239_sum:1:[{Ms: Time:2019/11/28 10:01:03.000 Value:14.6875} {Ms: Time:2019/11/28 10:01:05.000 Value:9.0625} {Ms: Time:2019/11/28 10:01:07.000 Value:6.25} {Ms: Time:2019/11/28 10:01:09.000 Value:12.5}]]


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

684 次点击  
加入收藏 微博
1 回复  |  直到 2019-11-29 08:30:05
bkzy-wangjp
bkzy-wangjp · #1 · 5年之前

晕了,解析出来的结果就是对的

添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传