golang缁撴瀯浣撳簭鍒楀寲鎬庝箞瀹炵幇
鍦℅o涓紝鍙互浣跨敤encoding/json鍖呮潵瀹炵幇缁撴瀯浣撶殑搴忓垪鍖栧拰鍙嶅簭鍒楀寲銆?/p>
棣栧厛锛岄渶瑕佸鍏ncoding/json鍖咃細
import "encoding/json"
鐒跺悗锛屽畾涔変竴涓粨鏋勪綋绫诲瀷锛屼緥濡傦細
type Person struct {
Name string `json:"name"`
Age int `json:"age"`
}
鍦ㄨ繖涓緥瀛愪腑锛屾垜浠畾涔変簡涓€涓悕涓篜erson鐨勭粨鏋勪綋锛屽畠鏈変袱涓瓧娈碉細Name鍜孉ge銆傞€氳繃鍦ㄥ瓧娈靛悗闈㈡坊鍔?code>json:"name"鍜?code>json:"age"鐨勬爣绛撅紝鍙互鎸囧畾JSON搴忓垪鍖栧拰鍙嶅簭鍒楀寲鏃朵娇鐢ㄧ殑瀛楁鍚嶇О銆?/p>
鎺ヤ笅鏉ワ紝鍙互鍒涘缓涓€涓狿erson绫诲瀷鐨勫彉閲忥紝骞惰祴浜堝畠涓€浜涘€硷細
person := Person{
Name: "Alice",
Age: 25,
}
鐜板湪锛屽彲浠ヤ娇鐢╦son.Marshal鍑芥暟灏嗙粨鏋勪綋搴忓垪鍖栦负JSON瀛楃涓诧細
jsonData, err := json.Marshal(person)
if err != nil {
fmt.Println("JSON serialization failed:", err)
return
}
鏈€鍚庯紝鍙互灏唈sonData杞崲涓哄瓧绗︿覆骞舵墦鍗板嚭鏉ワ細
fmt.Println(string(jsonData))
杩欐牱灏卞畬鎴愪簡缁撴瀯浣撶殑搴忓垪鍖栥€?/p>
杈撳嚭缁撴灉灏嗕細鏄竴涓寘鍚簡Person缁撴瀯浣撳瓧娈电殑JSON瀛楃涓诧紝渚嬪锛?/p>
{"name":"Alice","age":25}
濡傛灉瑕佽繘琛岀粨鏋勪綋鐨勫弽搴忓垪鍖栵紝鍒欏彲浠ヤ娇鐢╦son.Unmarshal鍑芥暟銆備緥濡傦紝鍙互灏嗕笂杩扮殑JSON瀛楃涓茶浆鎹㈠洖Person缁撴瀯浣擄細
var restoredPerson Person
err = json.Unmarshal(jsonData, &restoredPerson)
if err != nil {
fmt.Println("JSON deserialization failed:", err)
return
}
鐜板湪锛宺estoredPerson鍙橀噺灏嗕細鍖呭惈涔嬪墠搴忓垪鍖栫殑Person缁撴瀯浣撶殑瀛楁鍊笺€?/p>
杩欏氨鏄湪Go涓疄鐜扮粨鏋勪綋鐨勫簭鍒楀寲鍜屽弽搴忓垪鍖栫殑鍩烘湰鏂规硶銆傛敞鎰忥紝鍦ㄥ簭鍒楀寲鍜屽弽搴忓垪鍖栨椂锛岀粨鏋勪綋瀛楁闇€瑕佹槸鍏紑锛堥瀛楁瘝澶у啓锛夌殑锛屼互渚縥son鍖呭彲浠ヨ闂埌瀹冧滑銆傚悓鏃讹紝缁撴瀯浣撳瓧娈电殑鏍囩鍙互鐢ㄦ潵鎺у埗JSON鐨勫瓧娈靛悕銆?/p>
相关问答