请教golang关于复杂json的解析

ggsimida · 2016-01-15 05:26:08 · 2106 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2016-01-15 05:26:08 的主题,其中的信息可能已经有所发展或是发生改变。

{
    "results": [
        {
            "series": [
                {
                    "name": "greenhouse1",
                    "columns": [
                        "time",
                        "node",
                        "parameter",
                        "value"
                    ],
                    "values": [
                        [
                            "2016-01-14T04:31:28.908764076Z",
                            "node2",
                            "light",
                            100
                        ],
                        [
                            "2016-01-14T04:31:48.525526948Z",
                            "node2",
                            "light",
                            100
                        ]
                    ]
                }
            ]
        }
    ]
}

我只要values中的数据,并希望能将上面的改成下面这种格式,就是能根据values中的node分类,

{
    “nodeId”:”1”,
            “value”: [
                                           [
                                                “2016-01-01T01:01:00Z”,
                         “20.3”
                      ],
                                  [
                                                “2016-01-01TZ01:01:20Z”,
                                        “20.3”
                                  ]
                                   ]
},
{
    “nodeId”:”2”,
            “value”: [
                                          [
                                                “2016-01-01T01:01:00Z”,
                         “20.3”
                      ],
                                  [
                                                 “2016-01-01TZ01:01:20Z”,
                                         “20.3”
                                  ]
                                   ]
}

望有懂的大神指点一下


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

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

2106 次点击  
加入收藏 微博
1 回复  |  直到 2016-02-01 17:24:16
golang_china
golang_china · #1 · 9年之前

我不是大神,但是你这个问题勾引起了我的兴趣,给你分享一下我的思路

1.看到这个问题第一个想起来的是 struct 中可以用 json tag 标签。

2.根据你这个场景,感觉上应该是很合理的需求,所以我觉得 标准库 会提供类似函数

3.不管是否提供这个函数,都要查一查,可以百度(估计不可能有),google(用英文搜索,还是非常非常好用的,如果没有翻墙就买一个,也不贵,就算贵 也非常非常值,喝杯咖啡的钱),当然了我没google,我觉得应该有 所以直接去源码里面看。

4.源码里找到了一点点线索 json/encode.go 64行 // // Field is ignored by this package. // Field int json:"-" 我觉得是这个是你想要的。

5.剩下的你自己去解决吧,要学会自己去解决问题,不能一味的去依赖别人。

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