【发布时间】:2019-01-05 20:02:42
【问题描述】:
我有两个以这种方式构建的 json 输入
"count: 1 result: fields"
我想在不使用定义结构的情况下连接我在结果中找到的字段。我尝试了很多方法,但大多数时候结果是关于类型 Interface {} 的错误或最后一张地图覆盖了数据
我希望将“结果”以及第一个和第二个地图字段合并到输出结果中。
oracle, err := http.Get("http://XXX:8080/XXXX/"+id)
if err != nil {
panic(err)
}
defer oracle.Body.Close()
mysql, err := http.Get("http://XXX:3000/XXX/"+id)
if err != nil {
panic(err)
}
defer mysql.Body.Close()
oracleJSON, err := ioutil.ReadAll(oracle.Body)
if err != nil {
panic(err)
}
mysqlJSON, err := ioutil.ReadAll(mysql.Body)
if err != nil {
panic(err)
}
var oracleOUT map[string]interface{}
var mysqlOUT map[string]interface{}
json.Unmarshal(oracleJSON, &oracleOUT)
json.Unmarshal(mysqlJSON, &mysqlOUT)
a := oracleOUT["result"]
b := mysqlOUT["result"]
c.JSON(http.StatusOK, gin.H{"result": ????})
这是一个json的例子
{"count":1,"result":{"COD_DIPENDENTE":"00060636","MATRICOLA":"60636","COGNOME":"PIPPO"}}
如果我有两个这样的 json 函数的结果应该是
`"result":{"COD_DIPENDENTE":"00060636","MATRICOLA":"60636","COGNOME":"PIPPO","COD_DIPENDENTE":"00060636","MATRICOLA":"60636","COGNOME":"PIPPO"}}`
【问题讨论】:
-
请给我们 JSON 示例
-
{"count":1,"result":{"COD_DIPENDENTE":"00060636","MATRICOLA":"60636","COGNOME":"PIPPO"}} 这是 JSON 示例.如果我有两个这样的 json,函数的结果应该是 "result":{"COD_DIPENDENTE":"00060636","MATRICOLA":"60636","COGNOME":"PIPPO","COD_DIPENDENTE":"00060636 ","MATRICOLA":"60636","COGNOME":"PIPPO"}}
-
您所描述的输出不是有效的 JSON。您将“结果”描述为使用括号引用对象,但对象是 SETS ,这意味着名称可能不会重复。您是否最好将输出重新格式化为有效的 JSON,或者尽管它不是 JSON,但仍保持结构?无论哪种方式我都可以提供答案,但需要知道您喜欢哪种方式。
标签: json dictionary go interface