介紹你好,我正在 Go AppEngine 上做一個模塊,我在讀取一些模型時遇到問題,其中有嵌套模型。模型是Party,我想要的是Permissions。但是,當我從數據存儲中獲取 Party 時,Permissions 結構字段的類型是字符串。//And when I do fmt.Println(party.Permissions) show this:%!(EXTRA string=jjrz?5878654076715008 *??jjrzshowOnMessages *zcanInviteAssistants *zcanInviteOrganizers *zcanEditEvent *zroleName * organizerzisAdmin *?z?4709220381360128 *??jjrzshowOnMessages *zcanInviteAssistants *zcanInviteOrganizers *zcanEditEvent *zroleName *ownerzisAdmin *??那個字符串是什么?有沒有辦法獲得原始結構?模型走type Party struct { Name string `datastore:"name"` Permissions string `datastore:"permissions"`}type PartyPermission struct { isAdmin bool canInviteOrganizers bool canInviteAssistants bool canEditParty bool showOnMessages bool roleName string}爪哇@Entitypublic class Party implements Cloneable, Serializable { @Id private Long id; private String name; private Map<String, PartyPermission> permissions; // constructor ... // getters, setters, etc}public class PartyPermission implements Serializable { private static final long serialVersionUID = 3019266092062869643L; private boolean isAdmin; private boolean canInviteOrganizers; private boolean canInviteAssistants; private boolean canEditEvent; private boolean showsOnMessages; private String roleName; // constructor // getters, setters, etc}我試過的我從 10 號星期一開始,我不知道那個字符串是什么。我想也許那個字符串是一個接口,我可以將該字符串轉換為一個接口,然后轉換為我真正想要的,map[string]PartyPermission。所以,反思:func (p *Party) GetPermissions() (map[string]PartyPermission) { iPermissions := reflect.ValueOf(p.Permissions).Interface() return iPermissions.(map[string]PartyPermission) }編譯得很好,但 Go 說字符串不能轉換成其他東西。就像是:interface conversion: interface is string, not map[string]packName.PartyPermission謝謝你的時間。
- 1 回答
- 0 關注
- 148 瀏覽
添加回答
舉報
0/150
提交
取消