【发布时间】:2015-10-24 22:10:07
【问题描述】:
我从 API 接收 JSON,响应可以是 30 种类型之一。每种类型都有一组唯一的字段,但所有响应都有一个字段 type 来说明它是哪种类型。
我的方法是使用serde。我为每种响应类型创建一个结构并使它们可解码。一旦我有了这个,我该如何选择应该为新收到的消息使用哪个结构?
目前,我创建了另一个结构 TypeStruct,其中只有一个字段用于 type。我将 JSON 解码为 TypeStruct,然后根据类型值为接收到的消息选择适当的结构,然后再次解码消息。
我想摆脱这种解码重复。
【问题讨论】:
-
您当前的解决方案是我会做的。您认为如何避免“解码重复”会更好或更有效?
-
我来自 python,所以我对静态类型的语言感到不舒服。但如果你说我的方法没问题,我会坚持下去。
-
只是我的看法,但这听起来像是一个过早担心优化的好例子。让你的代码运行,看看你是否认为它足够快。如果没有,请在更改代码之前对其进行分析——也许 JSON 解码甚至不是问题。