」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > Go中如何為派生標量類型實現UnmarshalJSON?

Go中如何為派生標量類型實現UnmarshalJSON?

發佈於2025-04-13
瀏覽:313

How to Implement UnmarshalJSON for Derived Scalar Types in Go?
在GO

umarshaljson unmarshaljson實現的實現。這很具有挑戰性,因為Unmarshaljson不能提供不使用struct的情況下修改標量值的方法。

實現unmarshaljson的派生標量類型,請考慮以下步驟:用於以下步驟: 將字符串刪除:

代碼示例: package main 進口 ( “編碼/JSON” “ FMT” ) 類型themid int const( 鮑勃personid = iota 簡 拉爾夫 沒有人= -1 ) var namemap = map [string] persyid { “鮑勃”:鮑勃, “簡”:簡, “拉爾夫”:拉爾夫, “沒人”:沒人, } var idmap = map [persyid]字符串{ 鮑勃:“鮑勃”, 簡:“簡”, 拉爾夫:“拉爾夫”, 沒有人:“沒人”, } func(intvalue persyid)名稱()字符串{ 返回IDMAP [INTVALUE] } func查找(名稱字符串)persyid { 返回namemap [名稱] } func(intvalue *personid)unmarshaljson(data [] byte)錯誤{ var s string 如果err:= json.unmarshal(data,&s); err! = nil { 返回錯誤 } *intvalue =查找(S) 返回無 } 鍵入mytype struct { 人persyid`json:“人”`````````` count int json:“ count”``````` 問候字符串`json:“問候”`````` } func main(){ var m mytype 如果err:= json.unmarshal([] byte('{“ person”:“ ralph”,“ count”:4,“問候”:“ hello”}`),&m); err! = nil { fmt.println(err) } 別的 { 對於我:= 0;我

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3