使用 python 将 C++ 结构更改为 JSON 字符串
Posted
技术标签:
【中文标题】使用 python 将 C++ 结构更改为 JSON 字符串【英文标题】:Change C++ structure to JSON string using python 【发布时间】:2018-03-28 06:37:04 【问题描述】:有没有办法使用 Python 将 c++ 结构转换为 JSON 字符串?
我有多个包含以下结构的 c++ 文件
#include <iostream>
using namespace std;
struct Person
char name[50];
int age;
float salary;
;
我想把它转换成 JSON 字符串。所以我可以在我的 python 项目中使用 JSON 字符串。
提前致谢。
【问题讨论】:
您需要此值才能成为有效的 JSON 对象。无论如何,只需删除struct Person
行并将;
替换为,
,您就差不多完成了
【参考方案1】:
JSON 是一种标准化格式,几乎所有常见的编程语言都有一些库可以帮助您。
我不确定你到底在问什么;你真的想用 Python 转换一个 c++ 文件(包含一个 c/c++ 结构)吗?也有 c++ 库可以为您做到这一点
阅读article 了解 C++ 和 JSON。
【讨论】:
【参考方案2】:如果您想将 C++ 结构转换为 JSON 字符串,有很多库可以做到这一点。在我的示例中,我使用的是https://github.com/nlohmann/json
#include <iostream>
#include "json.hpp"
using namespace std;
using json = nlohmann::json;
struct Person
string name;
int age;
float salary;
;
int main()
Person p;
p.name = "Shivam";
p.age = 7;
p.salary = 45.0;
// creating json
json j;
j["name"] = p.name;
j["age"] = p.age;
j["salary"] = p.salary;
string s = j.dump();
cout<<s<<endl;
// pretty print
cout<<j.dump(4)<<endl;
return 1;
【讨论】:
我无法在 c++ 项目中初始化字段。我有 90 个结构。以及如何在我的 python 项目中获取这个 json 字符串? 您能在问题中添加详细信息吗?就像预期的输入和期望的输出一样。以上是关于使用 python 将 C++ 结构更改为 JSON 字符串的主要内容,如果未能解决你的问题,请参考以下文章
在 C++ 中,主函数是编程的入口点,我如何将其更改为其他函数?