上位机图像处理和嵌入式模块部署(树莓派4b读写json数据)

embedded/2024/10/18 5:50:22/

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们说过,ini文件是用来进行配置的,数据库是用来进行数据存储的。那json是用来做什么的呢,json一般是用来做数据存储的。它处理的数据量没有数据库那么多,但是比ini要多很多。大家如果熟悉qt下面的ui文件,那么json的用法其实和ui的xml有点类似。如果我们在数据传输的时候没有太多讲究的话,那么就可以把json数据dump一下,传输出去。

        目前有很多的库可以处理json数据,boost库里面就有现成的lib可以处理。

1、引入头文件

#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>
using namespace boost::property_tree;

2、需要处理的json文件input.json

{"name": "John","age" : 30,"is_student" : false
}

3、处理json文件的读取和显示

	ptree pt;// 读取 JSON 数据read_json("input.json", pt);// 获取数据std::string name = pt.get<std::string>("name");int age = pt.get<int>("age");bool is_student = pt.get<bool>("is_student");// 打印数据std::cout<< "Name: " << name << std::endl;std::cout << "Age: " << age << std::endl;std::cout << "Is Student: " << std::boolalpha << is_student << std::endl;

4、json文件的修改和存储

	// 修改数据pt.put("age", age + 1);// 写入 JSON 数据write_json("output.json", pt);

5、json文件格式的应用场合

        目前json文件主要在两个场景下面用的比较多。一个是数据保存的时候,这个时候一般保存成文件的格式。还有一个是网络传输的时候,这种情况下,一般json都会被dump成string传输出去。收到json文件的一方,也会将字符串恢复成json文件的格式。这样发送和接收的双方就不用考虑数据大小端的问题了。当然,如果考虑到保密的需求,可以约定一下加解密的方法。


http://www.ppmy.cn/embedded/32986.html

相关文章

ubuntu20中ros与anaconda的python版本冲突问题

系统环境 原本系统是ubuntu20 noetic&#xff0c;python都在/usr/bin中&#xff0c;一共是两个版本的python&#xff0c;一个是python3.8&#xff0c;另一个是python2.7。 问题发现 当安装anaconda后&#xff0c;并且将anaconda的bin目录加入到系统环境中时候&#xff0c;…

使用 Python 和 OpenCV 进行实时目标检测的详解

使用到的模型文件我已经上传了&#xff0c;但是不知道能否通过审核&#xff0c;无法通过审核的话&#xff0c;就只能 靠大家自己发挥实力了&#xff0c;^_^ 目录 简介 代码介绍 代码拆解讲解 1.首先&#xff0c;让我们导入需要用到的库&#xff1a; 2.然后&#xff0c;设…

【netty系列-03】深入理解NIO的基本原理和底层实现(详解)

Netty系列整体栏目 内容链接地址【一】深入理解网络通信基本原理和tcp/ip协议https://zhenghuisheng.blog.csdn.net/article/details/136359640【二】深入理解Socket本质和BIOhttps://zhenghuisheng.blog.csdn.net/article/details/136549478【三】深入理解NIO的基本原理和底层…

springboot 整合 knife4j-openapi3

适用于&#xff1a;项目已使用shiro安全认证框架&#xff0c;整合knife4j-openapi3 1.引入依赖 <!-- knife4j-openapi3 --> <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-spring-boot-starter</artifa…

RabbitMQ之基础入门

在 AMQP 中&#xff0c;Producer 将消息发送到 Exchange &#xff0c;再由 Exchange 将消息路由到一个或多个 Queue 中&#xff08;或者丢弃&#xff09;。Exchange 根据 Routing Key 和 Binding Key 将消息路由到 Queue &#xff0c;目前提供了 Direct、Topic、Fanout、Header…

Typora+Docsify快速入门

Typora是什么&#xff1f; ​ Typora中文版是一款好用极简的跨平台Markdown编辑器&#xff0c;软件使用这款软件能够帮助用户轻松将文本转换到HTML&#xff0c;软件从底层向上设计&#xff0c;软件支持markdown的标准语法&#xff0c;同时这款软件还支持动态预览功能&#xff…

vCLS 和 FSVM代理虚拟机的默认用户名和密码。

vCLS 代理虚拟机由 vSphere 集群服务自动生成并用于维护集群服务的运行状况。默认情况下&#xff0c;当集群内主机大于等于三台时&#xff0c;vCLS 虚拟机为三个&#xff0c;若集群内主机数小于三台时&#xff0c;vCLS 虚拟机等于主机的数量。这些代理虚拟机由 vSphere ESX Age…

nginx配置tcp长连接实现集群

注意&#xff1a;实际工程应该会用docker部署。 安装nginx sudo apt install libpcre3-dev zlib1g openssl -y wget https://nginx.org/download/nginx-1.26.0.tar.gz #安装到/home/gyl/workspace/mprpc/vendor/nginx-1.26.0下 tar xfzv nginx-1.26.0.tar.gz && cd n…