我有一个想要序列化为 JSON 的数据类型。数据类型包含一组整数。由于项目中的其他限制,使用 JSON 以外的任何东西(例如,YAML)都会很痛苦,我真的想要 O(1) 查找。
我突然想到,我可以在这里执行一个肮脏的小技巧,只使用一个 JSON 对象,每个键/值对中的值都有虚拟对象:
{"1": null, "45": null, "-93": null}
但我在简短的在线搜索中没有看到这方面的先例。好的,这很可怕,是的,它在浪费内存,但它似乎可以提供我想要的东西,而无需编写一些愚蠢的包装器。我在搜索时不会立即遇到这种情况,这一事实让我怀疑我遗漏了一些东西。
那么,除了我上面提到的丑陋和记忆愚蠢之外,还有其他理由可以避免这种情况吗? (当然,我理所当然地认为目标语言中对象类型的底层实现对键有 O(1) 检查)。