{ "device_resource_id":"MLWMA01D", "base_id":"LY" }c++解析json格式
时间: 2024-03-18 20:37:45 浏览: 121
C++ 解析Json格式
在C++中解析JSON格式可以使用第三方库,比如RapidJSON、jsoncpp等。以下是使用RapidJSON库解析JSON格式的示例代码:
```cpp
#include <iostream>
#include <string>
#include "rapidjson/document.h"
int main() {
std::string jsonStr = R"({
"device_resource_id": "MLWMA01D",
"base_id": "LY"
})";
rapidjson::Document document;
document.Parse(jsonStr.c_str());
if (!document.HasParseError()) {
if (document.HasMember("device_resource_id") && document["device_resource_id"].IsString()) {
std::string deviceResourceId = document["device_resource_id"].GetString();
std::cout << "device_resource_id: " << deviceResourceId << std::endl;
}
if (document.HasMember("base_id") && document["base_id"].IsString()) {
std::string baseId = document["base_id"].GetString();
std::cout << "base_id: " << baseId << std::endl;
}
}
return 0;
}
```
上述代码使用RapidJSON库解析了一个包含"device_resource_id"和"base_id"的JSON字符串。首先,我们将JSON字符串赋值给一个std::string变量jsonStr。然后,我们创建一个rapidjson::Document对象document,并使用Parse函数将JSON字符串解析为该对象。
接下来,我们可以通过HasMember函数和IsString函数判断是否存在指定的成员,并且该成员的值是否为字符串类型。如果存在并且类型正确,我们可以使用GetString函数获取对应的值。
以上是使用RapidJSON库解析JSON格式的简单示例,你也可以尝试使用其他JSON解析库来完成相同的任务。
阅读全文