【发布时间】:2015-01-08 07:06:31
【问题描述】:
我有基于 JSON 和 Play Framework 的 scala REST 服务。 JSON 的一些字段是可选的(例如 middleName)。我可以将其标记为选项,例如
middleName: Option[String]
甚至不要期望它在 JSON 中。但我想避免将来可能出现的应用程序错误并简化生活。如果用户不想提供此信息并且在整个应用程序中没有选项字段(JSON/DB 开销很小),我想将其标记为可预期但为空。
在整个应用程序中避免使用选项字段是个好主意吗?如果 String 字段为空,则它包含一个空字符串,但必须存在于 JSON/DB 中。如果 Int 字段为空,则包含 0 等
提前致谢
【问题讨论】:
-
当前接受的答案真的回答了这个问题吗?您是否不想知道如何获得 JSON 序列化以将
Option数据表示为"field": null而不是省略它? (“我想……”)我看不出接受的答案以任何方式解决了这个问题。 -
@AmigoNico 我开始了新项目,我只是想知道人们对避免使用 Option 的看法。所有回答的开发人员都写了同样的答案并回答了同样的好。如果有很多例子和一些理论更好的答案,请写。你会被录取
-
我明白了。我可能误解了您的问题也是关于在转换为 JSON 的对象中使用 Option 的问题。无论如何,我已经更新了我的答案。