golang " />

扫描二维码下载沐宇APP

沐宇

微信扫码使用沐宇小程序

沐宇

golang缁撴瀯浣撳簭鍒楀寲鎬庝箞瀹炵幇

扬州沐宇科技
2023-10-22 02:51:14
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>

扫码添加客服微信