相关疑难解决方法(0)

如何在Golang中解析/ deserlize动态JSON

场景:
考虑以下是JSON:

{
   "Bangalore_City": "35_Temperature",
   "NewYork_City": "31_Temperature",
   "Copenhagen_City": "29_Temperature"
}
Run Code Online (Sandbox Code Playgroud)

如果您注意到,数据的结构使得没有硬编码的密钥提及City/ Temperature它基本上只是值.

问题:我无法解析任何动态的JSON.

问题:有没有人能找到这种JSON解析的解决方案?我试过go-simplejson,gabs和默认encoding/json但没有运气.

注意: 上面的JSON仅用于示例.并且有很多应用程序正在使用当前的API,所以我不想改变数据的结构.我的意思是我不能改变如下:

[{
   "City_Name":"Bangalore",
   "Temperature": "35"
},...]
Run Code Online (Sandbox Code Playgroud)

然后我可以定义 struct

type TempData struct {
  City_Name string
  Temperature  string
}
Run Code Online (Sandbox Code Playgroud)

json go

29
推荐指数
3
解决办法
2万
查看次数

将json字符串解组为具有struct本身的一个元素的结构

我是初学者并试图解组以下json字符串

[{
    "db": {
        "url": "mongodb://localhost",
        "port": "27000",
        "uname": "",
        "pass": "",
        "authdb": "",
        "replicas": [
            {
                "rs01": {
                    "url":"mongodb://localhost",
                    "port": "27001",
                    "uname": "",
                    "pass": "",
                    "authdb": ""
                }
            },
            {
                "rs02": {
                    "url":"mongodb://localhost",
                    "port": "27002",
                    "uname": "",
                    "pass": "",
                    "authdb": ""
                }
            }
        ]
    }
}]
Run Code Online (Sandbox Code Playgroud)

这是结构

type DBS struct {
    URL      string `json:url`
    Port     string `json:port`
    Uname    string `json:uname`
    Pass     string `json:pass`
    Authdb   string `json:authdb`
    Replicas []DBS   `json:replicas`
}
Run Code Online (Sandbox Code Playgroud)

这是功能

func loadConfigs() []DBS {
    var config []DBS
    raw, …
Run Code Online (Sandbox Code Playgroud)

json struct go

0
推荐指数
1
解决办法
439
查看次数

标签 统计

go ×2

json ×2

struct ×1