要将JSON数据存储到数据库,你可以使用C++中的数据库连接库来实现,如MySQL Connector/C++或SQLite C/C++ Interface。
下面是一种将JSON数据存储到MySQL数据库的示例代码:
```cpp
#include #include #include #include #include #include #include #include using namespace std; int main() { try { sql::mysql::MySQL_Driver *driver; sql::Connection *con; // 创建MySQL连接 driver = sql::mysql::get_mysql_driver_instance(); con = driver->connect("tcp://127.0.0.1:3306", "username", "password"); // 选择数据库 con->setSchema("database_name"); // 准备JSON数据 Json::Value json; json["name"] = "John"; json["age"] = 30; json["city"] = "New York"; // 插入JSON数据 sql::PreparedStatement *stmt; stmt = con->prepareStatement("INSERT INTO table_name (json_data) VALUES (?)"); stmt->setString(1, json.toStyledString()); stmt->execute(); delete stmt; // 查询数据库中的JSON数据 sql::Statement *query; sql::ResultSet *res; query = con->createStatement(); res = query->executeQuery("SELECT * FROM table_name"); while (res->next()) { Json::Value result; Json::Reader reader; reader.parse(res->getString("json_data"), result); cout < "name:="" "="">< result asstring()=""><> cout < "age:="" "="">< result asint()=""><> cout < "city:="" "="">< result asstring()=""><> } delete res; delete query; delete con; } catch (sql::SQLException &e) { cout < "mysql="" error:="" "="">< e what()=""><> } return 0; } ``` 注意替换代码中的`username`、`password`、`database_name`和`table_name`为你实际的数据库信息。这个示例代码使用MySQL数据库和JSONcpp库来处理JSON数据,你还需要下载并安装相应的库。 上述代码的思路是将JSON数据转换为字符串并存储到数据库中的一个字段中,然后在查询时再将字符串转换为JSON对象进行解析和处理。你可以根据实际需求进行调整和修改。