【问题标题】:JSON string to C++ object from class从类到 C++ 对象的 JSON 字符串
【发布时间】:2014-09-15 23:53:52
【问题描述】:

给定一个作为头文件的类定义,例如:

class myClass {  

  private:        
    int data1;  
    int data2;  

  public:
    int getData1();
    void setData1(int);
    int getData2();
    void setData2(int);
}

还有一个 JSON 字符串,例如:

"{
  "data1": 5,
  "data2": 12
}"

有没有办法从 myClass 创建一个 C++ 对象并使用 JSON 字符串中的值设置数据成员?

我有很多不同的类,其中有很多不同的数据类型作为成员,所以我不需要为每个类都编写代码。

【问题讨论】:

  • 我不太明白你的问题。我想您可以使用 JSON 解析器 (stackoverflow.com/questions/245973/whats-the-best-c-json-parser) 并将数据调整到您的班级。人们总是这样做。或者您可以编写自己的解析器,但这不值得。
  • 我猜你在问是否有类似 Jackson 的 C++ 解析器,可以将 JSON 直接转换为 C++,而无需编写任何代码。我有点怀疑。但是编写自己的构造函数并接受 JSON 映射对象并填充对象并不难。

标签: c++ json oop object header-files


【解决方案1】:

C++ 不是动态语言,你不能在 C#/Java/.. 但是,您可以使用 Hot Licks 建议的方法,只需创建一个工厂并解析输入 JSON 字符串,然后创建对象。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多