亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

有沒有辦法從 Go 中的給定 JSON 中提取 JSON Schema?

有沒有辦法從 Go 中的給定 JSON 中提取 JSON Schema?

Go
小怪獸愛吃肉 2022-05-18 09:48:05
有沒有辦法將 JSON 轉換為 Go 中的模式?我需要比較 2 個 JSON 模板或模式,但找不到任何包或功能來做同樣的事情 - 有人可以幫我嗎?
查看完整描述

3 回答

?
撒科打諢

TA貢獻1934條經驗 獲得超2個贊

你可以看看gjson library。它具有解析和獲取未編組的 JSON 的功能。您可以使用gjson功能來比較 json 結果。



查看完整回答
反對 回復 2022-05-18
?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

我認為您將需要將unmarshal它們遞歸(如果它們包含嵌套的 json)轉換為類似的內容map[string]interface{},然后循環遍歷并比較鍵。在這個問題上提到了一些庫https://stackoverflow.com/a/42153666可以unmarshal安全地使用它們。


例如,您可以Exists在遍歷未編組映射中的鍵時使用 gabs 庫,以查看其他映射中是否存在相同的鍵。


// From gabs library

// Exists checks whether a field exists within the hierarchy.

func (g *Container) Exists(hierarchy ...string) bool {

    return g.Search(hierarchy...) != nil

}

編輯:這里沒有庫:https: //play.golang.org/p/jmfFsLT0G1n基于此代碼高爾夫練習的測試用例:https ://codegolf.stackexchange.com/questions/195476/extract-all-keys-來自對象 json


查看完整回答
反對 回復 2022-05-18
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

Go 的標準庫中提供的 json 包為我們提供了我們需要的所有功能。對于任何 JSON 字符串,解析它的標準方法是:


import "encoding/json" //...


// ...  myJsonString := `{"some":"json"}`


// `&myStoredVariable` is the address of the variable we want to store our // parsed data in 

json.Unmarshal([]byte(myJsonString), &myStoredVariable)


 //...


查看完整回答
反對 回復 2022-05-18
  • 3 回答
  • 0 關注
  • 225 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號