class_name DatasetEntry extends RefCounted var id: String var name: String var description: String var icon: String var top_level_fields: Dictionary[String, DataFieldValue] var groups: Array[DatasetGroup] func to_dict() -> Dictionary: var groups_array: Array = [] for g in groups: groups_array.append(g.to_json()) var top_level_fields_dict: Dictionary = {} if top_level_fields: for key in top_level_fields.keys(): var dfv: DataFieldValue = top_level_fields[key] if dfv != null: top_level_fields_dict[key] = dfv.to_dict() else: top_level_fields_dict[key] = null return { "id": id, "name": name, "description": description, "icon": icon, "top_level_fields": top_level_fields_dict, "groups": groups_array }