我正在從firebase讀取數(shù)據(jù),響應(yīng)為“map[string]interface{}”,例如:Response: { Id: 1, Name: "Marwan", Career: { employeer: "mycompany", salary: "100", }}我有一個結(jié)構(gòu):type Employee struct { Id int Name string Career CareerType}type CareerType struct { Employeer string Salary string}當(dāng)我執(zhí)行以下操作時(shí):marshal, _ := json.Marshal(data)json.Unmarshal(marshal, Emplyee{})結(jié)果將為:Reposnse: { Id: 1, Name: "Marwan", Career: "{\"employeer\":\"mycompany\", \"salary\":\"100\"}"}有沒有人知道為什么內(nèi)在對象(在這種情況下是職業(yè))沒有被解構(gòu)到一個對象上?難道不應(yīng)該有智慧的行動來隱含地做到這一點(diǎn)嗎?
1 回答

浮云間
TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超4個贊
封送處理數(shù)據(jù)時(shí),只需傳入與結(jié)構(gòu)對應(yīng)的元素。例如:
bytes, _ := json.Marshal(data["Response"])
之后,取消編組應(yīng)按預(yù)期工作:
var employee Employee json.Unmarshal(bytes, &employee)
employee
現(xiàn)在應(yīng)如下所示:
{Id:1 Name:Marwan Career:{Employer:mycompany Salary:100}}
- 1 回答
- 0 關(guān)注
- 80 瀏覽
添加回答
舉報(bào)
0/150
提交
取消