C ++将不同的JSON解析为一个结构或类

时间:2015-02-11 07:27:54

标签: c++ json algorithm oop data-structures

我在C ++项目中从API获得了不同的JSON。 我的目标是在后端代码中将不同的JSON解析为一个结构或类。

例如我有

  

{       " access_token":" xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",       " expires_in":3600,       "范围":"令牌",}

  

{       " name":"示例",       " updatedAt":{                       " date":" 2015-01-30 14:03:28",                       " timezone_type":3,                       "时区":"欧洲/斯德哥尔摩"                   },}

现在我有两个结构用于上面的JSON,但我想为所有JSON使用一个结构或类。

哪种算法更适合这种情况

提前致谢

1 个答案:

答案 0 :(得分:2)

没有"内置"原生C ++中JSON格式的类。 更重要的是,JSON是序列化的JavaScript对象,可以根据内部成员或函数,类型以及几乎所有内容动态更改。 这不是本地可以实现的"常规" C ++是必须在编译时设置的。 大多数C ++的JSON解析器使用std :: map和一些" JSONValue"的某种组合。拥有JSON可以容纳的所有东西的对象(int,float,string,boolean,另一个JSONValue等)

我认为你应该使用其中一个解析器,而不是试图找出自己的JSON解析。我个人使用JSONCPP,如果我的程序不使用Unicode和SimleJSON,如果它使用。