Android中C++如何读写json文件

我们需要在json文件中记录一下总数,文件格式如下:
[{"total_count":0,"total_count1":0,"total_count2":0,"total_count3":0,"total_count4":0}]

目录

1. Android.bp中新增

2. 头文件添加

3. 向json文件写入数据

4. 读取json文件内容


1. Android.bp中新增

    static_libs: [
        "libjsoncpp",
    ], 

2. 头文件添加

#include <json/json.h>


3. 向json文件写入数据

    long long totalCount = 0;long long totalCount2 = 0;long long totalCount3 = 0;long long totalCount4 = 0;fstream fileStream;fileStream.open("/sdcard/test.json", ios::out | ios::in);if (!fileStream.is_open()) {return;}Json::Value root;Json::Value item;item["total_count"] = Json::Int64(totalCount);item["total_count2"] = Json::Int64(totalCount2);item["total_count3"] = Json::Int64(total_count3);item["total_count4"] = Json::Int64(total_count4);root.append(item);Json::FastWriter wb; string str = wb.write(root);fileStream << str;fileStream.flush();

写完之后,/sdcard/test.json文件内容如下:
[{"total_count":0,"total_count1":0,"total_count2":0,"total_count3":0,"total_count4":0}]


4. 读取json文件内容

    fileStream.open("/sdcard/test.json", ios::out | ios::in);if (!fileStream.is_open()) {return;}isTotalStreamValid = true;char buffer[1024];fileStream.getline(buffer, sizeof(buffer));Json::Reader reader;Json::Value root;if (!reader.parse(buffer, root)) {return;}totalCount = root[0]["total_count"].asInt64();totalCount2 = root[0]["total_count2"].asInt64();totalCount3 = root[0]["total_count3"].asInt64();totalCount4 = root[0]["total_count4"].asInt64();


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/10990.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

websocket和http协议的区别

ws(websocket)协议和http协议是两种不同的协议。 http&#xff1a;http是一种用于传输超文本的应用层协议&#xff0c;通常用于web端浏览器和web端服务器之间传输数据。http也是基于tcp的&#xff0c;但是HTTP只能在同一时刻单向发送消息&#xff0c;是一种半双工通信。&#…

ISIS学习二——与OSPF相比的ISIS报文以及路由计算

目录 一.ISIS支持的网络类型 1.OSPF支持 2.ISIS支持 二.ISIS最优路径的选取 &#xff08;1&#xff09;.ISIS开销值设置 1.全局开销 2.接口开销 3.根据带宽设置开销 &#xff08;2&#xff09;.ISIS的次优路径 三.ISIS报文格式 1.ISIS专用报头——TLV 2.ISIS通用头…

LeetCode-2391. 收集垃圾的最少总时间【数组 字符串 前缀和】

LeetCode-2391. 收集垃圾的最少总时间【数组 字符串 前缀和】 题目描述&#xff1a;解题思路一&#xff1a;处理垃圾和路程单独计算。解题思路二&#xff1a;逆向思维&#xff0c;计算多走的路解题思路三&#xff1a;只记录&#xff0c;当前t需要计算几次 题目描述&#xff1a;…

SAF文件选择、谷歌PhotoPicker图片视频选择与真实路径转换

一、构建选择文件与回调方法 //文件选择回调ActivityResultLauncher<String[]> pickFile registerForActivityResult(new ActivityResultContracts.OpenDocument(), uri->{if (uri ! null) {Log.e("cxy", "返回的uri:" uri);Log.e("cxy&q…

计算机实战分享3:森林火灾预测分析可视化机器学习预测-完整数据代码-可直接运行

直接看实验数据和结果: 代码: from sklearn import preprocessing import random from sklearn.m

持续总结中!2024年面试必问 100 道 Java基础面试题(四十二)

上一篇地址&#xff1a;持续总结中&#xff01;2024年面试必问 100 道 Java基础面试题&#xff08;四十一&#xff09;-CSDN博客 八十三、如何判断一个对象是否应该被垃圾回收&#xff1f; 在Java中&#xff0c;判断一个对象是否应该被垃圾回收的关键在于对象的引用状态。垃圾…

C# 调用 winmm.dll 播放 midi 文件

在C#中调用 winmm.dll&#xff08;Windows Multimedia Library&#xff09;来播放 MIDI 文件通常涉及使用mciSendString 函数&#xff0c;该函数是 winmm.dll 中提供的一个函数&#xff0c;用于发送 MCI&#xff08;Media Control Interface&#xff09;命令给MCI设备。 但是&…

基于LLM的自行车道CAD

LLM&#xff08;大型语言模型&#xff09;是强大的工具。对于许多人来说&#xff0c;用语言表达愿望通常比浏览复杂的 GUI 更简单。 1、系统简介和环境搭建 urb-x.ch&#xff0c;这是一家专门从事自行车道建设的公司。轨道采用模块化构建块进行独特设计&#xff0c;可以通过多…

HCIP的学习(15)

第六章&#xff0c;BGP—边界网关协议 自治系统—AS ​ 定义&#xff1a;由一个单一的机构或组织所管理的一系列IP网络及其设备所构成的集合。 ​ AS的来源&#xff1a; 整个网络规模过大&#xff0c;会导致路由信息收敛速度过慢&#xff0c;设备对相同目标认知不同。AS之间…

全国院校及梯度排序深度解析课(免费下载-帮助更多高考生做出人生重要的选择。)

"全国院校及梯度排序深度解析课"旨在深入探讨全国院校的排名及梯度排序原理。通过系统解析各院校的学术声誉、师资力量、科研水平等因素&#xff0c;帮助学员全面了解院校排名的背后逻辑&#xff0c;为选择合适院校提供理论支持。 课程大小&#xff1a;7G 课程下载…

Java面试之分布式篇

分布式锁的实现方案 &#xff08;1&#xff09;用数据库实现分布式锁比较简单&#xff0c;就是创建一张锁表&#xff0c;数据库对字段作唯一性约束。加锁的时候&#xff0c;在锁表中增加一条记录即可&#xff1b;释放锁的时候删除锁记录就行。如果有并发请求同时提交到数据库&…

css-页面布局-定位大解析-每文一言(世界上,没有人可以支持你一辈子)

&#x1f390;每文一言 世界上,没有人可以支持你一辈子 目录 &#x1f390;每文一言 &#x1f381;css定位 &#x1f9e7;静态定位 position: static &#x1f384;相对定位 position:relative &#x1f380;绝对定位 position:absolute &#x1f383;固定定位 position…

Yoast SEO Premium插件下载,提升您的网站SEO排名

在当今数字化时代&#xff0c;网站的搜索引擎优化&#xff08;SEO&#xff09;至关重要。它不仅影响着网站的可见度&#xff0c;更直接关系到您的在线业务成功与否。如果您正在寻找一个能够显著提升网站SEO表现的工具&#xff0c;Yoast SEO Premium插件将是您的理想选择。 为什…

赶紧收藏!2024 年最常见 100道 Java 基础面试题(四十一)

上一篇地址&#xff1a;赶紧收藏&#xff01;2024 年最常见 100道 Java 基础面试题&#xff08;四十&#xff09;-CSDN博客 八十一、tcp为什么要三次握手&#xff0c;两次不行吗&#xff1f;为什么&#xff1f; TCP&#xff08;传输控制协议&#xff09;使用三次握手&#xf…

【Linux网络】Shell脚本语句

目录 一、条件语句 1.1 测试 1.2 比较整数数值 1.3 字符串比较 1.4 双中括号 1.5 ()与{} 1.6 if语句 1.7 case语句 1.8 echo命令 二、循环语句 2.1 for循环 2.2 while循环 2.3 until循环 一、条件语句 1.1 测试 格式一&#xff1a;test 条件表达式 格式二&#x…

AI技术如何提升内容生产的效率和质量

随着人工智能&#xff08;AI&#xff09;技术的不断发展和应用&#xff0c;内容生产领域也迎来了巨大的变革。AI技术在提升内容生产效率和质量方面发挥着越来越重要的作用&#xff0c;从自然语言处理到生成模型&#xff0c;AI为内容创作者和生产者带来了许多新的机会和挑战。本…

(docker)进入容器后如何使用本机gpu

首次创建容器&#xff0c;不能直接使用本机gpu 在系统终端进行如下配置&#xff1a; 1.安装NVIDIA Container Toolkit 进入Nvidia官网Installing the NVIDIA Container Toolkit — NVIDIA Container Toolkit 1.15.0 documentation&#xff0c;安装NVIDIA Container Toolkit …

AI预测福彩3D采取887定位策略+杀断组+杀和尾+杀和值012缩水测试5月12日预测第1弹

前段时间工作太忙&#xff0c;手头上各种事情较多&#xff0c;没有静下心来对我的AI模型预测结果进行进一步分析筛选&#xff0c;导致最近连续几期与实际开奖结果相差较大。当然&#xff0c;客观来说&#xff0c;搞6码定位的确难度比较大&#xff0c;昨天跟几个常年研究3D的彩友…

OpenCV 光流法总结

0.概述 1.原理说明 2.代码实现 #include <iostream> #include <opencv2/opencv.hpp>int main(int argc, char** argv) {if(argc ! 2) {std::cerr << "Usage: " << argv[0] << " <video_path>" << std::endl;…

从零学算法2391

2391. 收集垃圾的最少总时间 给你一个下标从 0 开始的字符串数组 garbage &#xff0c;其中 garbage[i] 表示第 i 个房子的垃圾集合。garbage[i] 只包含字符 ‘M’ &#xff0c;‘P’ 和 ‘G’ &#xff0c;但可能包含多个相同字符&#xff0c;每个字符分别表示一单位的金属、纸…