boost怎么读取json字符串
时间: 2023-12-06 16:03:42 浏览: 30
可以使用json库来读取json字符串。具体步骤如下:
1. 导入json库
```python
import json
```
2. 将json字符串转换为Python对象
```python
json_str = '{"name": "Tom", "age": 18}'
json_obj = json.loads(json_str)
```
3. 读取json对象中的数据
```python
name = json_obj['name']
age = json_obj['age']
```
完整代码示例:
```python
import json
json_str = '{"name": "Tom", "age": 18}'
json_obj = json.loads(json_str)
name = json_obj['name']
age = json_obj['age']
print(name, age)
```
输出结果:
```
Tom 18
```
相关问题
cpp的boost库怎么读取json字符串
Boost库中有一个叫做Property Tree的模块,可以用来读取和写入JSON格式的数据。以下是一个简单的示例代码,读取一个JSON字符串并输出其中的某些数据:
```
#include <iostream>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
using namespace boost::property_tree;
int main()
{
// 定义一个JSON字符串
std::string json_str = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
// 解析JSON字符串
ptree pt;
std::stringstream ss(json_str);
json_parser::read_json(ss, pt);
// 输出解析结果
std::cout << "Name: " << pt.get<std::string>("name") << std::endl;
std::cout << "Age: " << pt.get<int>("age") << std::endl;
std::cout << "City: " << pt.get<std::string>("city") << std::endl;
return 0;
}
```
输出结果:
```
Name: John
Age: 30
City: New York
```
在代码中,首先定义了一个JSON字符串,然后使用stringstream将其转换为ptree对象。接着使用get函数读取ptree中的数据,并输出到控制台。
boost 如何生成空数组json字符串
Boost库中可以使用json::value构造器来生成空数组的json字符串,示例代码如下:
```
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
#include <boost/foreach.hpp>
using boost::property_tree::ptree;
using boost::property_tree::json_parser::write_json;
int main()
{
ptree root;
ptree array;
// 添加空数组
root.add_child("data", array);
// 将ptree对象转换为json字符串
std::stringstream ss;
write_json(ss, root);
// 输出json字符串
std::cout << ss.str() << std::endl;
return 0;
}
```
该代码将生成如下的空数组json字符串:
```
{
"data": []
}
```