【问题标题】:What is design pattern to store JSON objects in C++?在 C++ 中存储 JSON 对象的设计模式是什么?
【发布时间】:2020-03-13 19:00:35
【问题描述】:

我和一位同事讨论了在我们的 C++ 服务器内存中存储数据的最佳方式。基本上,我们需要存储客户提出的所有申请。这些申请以 JSON 对象的形式出现,因此每个申请可能有不同数量的参数。稍后,客户可以向服务器索取这些申请的列表。

请购单的总数很少(10^3 的顺序)。客户使用分页查询申请清单。

所以我的问题是这样做的标准方法是什么?

1) 创建一个类来存储每个 JSON,然后在请求时发送这些 JSON 的列表。

2) 反序列化 JSON,将其存储在一个类中,然后在请求时再次序列化数据。

如果是 2,在现代 C++ 中最好的方法是什么?

3) 其他选择?

谢谢。

【问题讨论】:

  • 从您的解释看来,您永远不需要解释 JSON。如果是这样,你为什么要反序列化它?
  • 为什么要将它限制在 C++ 中?为什么不使用 NodeJS?恕我直言,当其他技术可以让您更快、更简单地解决这个问题时,不要使用 C++ 来解决这个问题。
  • 满足所有这些要求,您只需展示很少的代码即可。
  • @Darhuuk 你是对的,我没有写完整的故事。我们确实将 JSON 解释为其他软件的功能。现在我们还需要存储这些 JSON 并在请求时将其发送回客户端。
  • 这仍然没有回答 Darhuuk 的问题。您收到的 JSON 应该/将始终未经修改地发送回客户端 - 如果是这样,为什么需要将其存储为字符串以外的任何其他内容? - 如果您以任何方式修改它(例如添加/删除属性或更改它们的值)并将修改后的 JSON 发送回去,那么问题就太模糊了。

标签: c++ oop design-patterns


【解决方案1】:

如果客户要求您支持 JSON,您只需执行两个步骤:

  1. 添加一些带有合适许可证的 JSON(例如 this)库进行项目。
  2. 使用它。

如果 JSON 的实现不是项目的主要目标,这应该可行。

注意:您还可以通过检查上述 repo 获得很多设计提示。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 1970-01-01
    • 2021-04-20
    相关资源
    最近更新 更多