使用python将C ++结构更改为JSON字符串

时间:2018-03-28 06:37:04

标签: python c++ json python-3.x

有没有办法使用Python将c ++结构转换为JSON字符串?

我有多个包含结构的c ++文件,例如以下

#include <iostream>
using namespace std;

struct Person
{
    char name[50];
    int age;
    float salary;
};

我想将其转换为JSON字符串。所以我可以在我的python项目中使用JSON字符串。

先谢谢。

2 个答案:

答案 0 :(得分:0)

JSON是一种标准化格式,并且有一些库可以帮助您完成每种常见的编程语言。

我不确定你到底在问什么;你真的想用Python转换c ++文件(包含c / c ++结构)吗?有c ++库也可以为你做这个

阅读此article有关c ++和JSON的信息。

答案 1 :(得分:0)

如果要将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;
}