{"id":"2","text":"成都天府新区将军碑社区卫生服务中心","登录账号":"jjb126","简码":"CDTFXQJJBS","排序":"2"} c++取键和值
时间: 2023-09-02 12:14:18 浏览: 67
假设这个数据是以一个 map<string, string> 的形式存储的,其中键和值分别为字符串类型。
取键和值的方式如下:
```c++
#include <iostream>
#include <map>
#include <string>
int main() {
std::map<std::string, std::string> data = {
{"id", "2"},
{"text", "成都天府新区将军碑社区卫生服务中心"},
{"登录账号", "jjb126"},
{"简码", "CDTFXQJJBS"},
{"排序", "2"}
};
// 取键
std::string key = data["id"];
std::cout << "键: " << key << std::endl;
// 取值
std::string value = data["text"];
std::cout << "值: " << value << std::endl;
return 0;
}
```
输出结果为:
```
键: 2
值: 成都天府新区将军碑社区卫生服务中心
```
相关问题
[{"id":"2","text":"成都天府新区将军碑社区卫生服务中心","登录账号":"jjb126","简码":"CDTFXQJJBS","排序":"2"}] C++正则表达式 取[]之间的内容
可以使用正则表达式来匹配[]之间的内容,以下是一个示例代码:
```cpp
#include <iostream>
#include <regex>
#include <string>
using namespace std;
int main() {
string input = R"([{"id":"2","text":"成都天府新区将军碑社区卫生服务中心","登录账号":"jjb126","简码":"CDTFXQJJBS","排序":"2"}])";
regex pattern(R"(\[(.*?)\])"); // 匹配[]之间的内容
smatch matches;
if (regex_search(input, matches, pattern)) {
cout << matches[1] << endl; // 输出匹配结果
}
return 0;
}
```
这段代码会输出:
```
{"id":"2","text":"成都天府新区将军碑社区卫生服务中心","登录账号":"jjb126","简码":"CDTFXQJJBS","排序":"2"}
```
其中,正则表达式`(\[(.*?)\])`中:
- `\[(.*?)\]`表示匹配[]之间的内容,其中`\[`和`\]`分别匹配左右括号,`.`表示匹配任意字符,`*?`表示非贪婪模式,即尽可能少地匹配字符,以避免匹配到多个[]之间的内容。
阅读全文