[英]JSON reference parsing in Go
我有這樣的json
文件:
{
"types": {
"controller": {
"base": {
"speed": 1024,
"n_core": 1
}
}
},
"Server1": {
"type": {"$ref": "#/types/controller/base"},
"name": "Server1",
"is_in_json": true
},
}
它包含$ref
鍵。 從這里 :
“ $ ref”字符串值包含一個URI [RFC3986],它標識了所引用的JSON值的位置。 如果字符串值不符合URI語法規則,則為錯誤條件。 JSON參考對象中除“ $ ref”以外的任何成員都將被忽略。
為了進行解析,我需要編寫一個帶有json-tag
的結構,如下所示:
type Server struct {
Type ??? `json:"???"`
Name string `json:"name"`
IsInJson bool `json:"is_in_json"`
}
我應該用什么代替???
用於引用另一種結構?
如果鍵始終是$ref
並且這是從對象中捕獲的唯一鍵,這似乎是引用的文檔中的要求,那么可以為其鍵入一個類型:
type TypeData struct {
Ref string `json:"$ref"`
}
type Server struct {
Type TypeData `json:"type"`
Name string `json:"name"`
IsInJson bool `json:"is_in_json"`
}
如果不是這種情況,最簡單的方法可能是將其分配給map[string]string
,然后遍歷map以適當地處理元素:
type Server struct {
Type map[string]string `json:"type"`
Name string `json:"name"`
IsInJson bool `json:"is_in_json"`
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.