我是一個.NET人。 Go語言非常新穎。golang的擴展方法?
在.NET中我們有擴展方法。 Go有什麼相同之處?
在.NET中,我會不喜歡在bsonTrans =>bsonTrans["trans.ticket"]
BSON文檔
"trans.ticket" => key in json
trans is outer level and
ticket is inner level
我使用MongoDB的本地驅動程序。在那我添加我的擴展功能來執行這些操作。
就像聰明的第n級我做了.NET。
我想在Go中應用相同的邏輯。
例
b := []byte(trans)
var config map[string]interface{}
err := json.Unmarshal(b, &config)
fmt.Println(config["data"].(map[string] interface{})["issued"])
例如,在這個例子中,我可以這樣做:
配置[ 「data.issued」]應該回報給價值?
請幫我搞清楚了這一點......
實際JSON: -
(實際JSON是太大了,但是我提供的是用更少的字段的樣本)
{
"_id" : 2001,
"address" : {
"line1" : "",
"line2" : "",
"line3" : ""
},
"tickets" : [
{
"seq" : 2,
"add" : [
{
"seq" : "",
"amnt" : 50
},
{
"seq" : "",
"amnt" : 50
{
"seq" : "",
"amnt" : 50
}
}
}
]
}
理由不使用結構是我的JSON有太多的嵌套結構,我有10點以上的模式有不同的結構。
因此,我遺漏了結構。
我承認我不確定省略結構是否是最好的方法。
你可以發表你的JSON的實際樣品?我可以告訴你它是如何工作的。另外,是否有一個原因,你不想使用一個正式的結構來編組數據而不是通用映射[string] interface {}?雖然後者會工作,但我傾向於使用實際定義良好的結構來編組。 –