android c++ json 操作

目录

jsoncpp库 Android平台

nlohmann库


jsoncpp库 Android平台

GitHub - AlexMofer/jsoncpp-for-Android: 编译jsoncpp为Android SO库

读取例子:

  char *json_path="/data/RK3588/ccc.json";
    std::ifstream file(json_path);
    if (!file.is_open()) {
        return -1;
    }

    Json::Reader reader;
    Json::Value root;
    if (!reader.parse(file, root, false)) {
        file.close();
        return -2;
    }

    file.close();
//    env->ReleaseStringUTFChars(filePath, path);

    std::string imagePath = root["imagePath"].asString();
    int imageHeight = root["imageHeight"].asInt();

    std::string result = "imagePath: " + imagePath + ", Age: " + std::to_string(imageHeight);

nlohmann库

#include <fstream>
#include <nlohmann/json.hpp>
#include <android/log.h>

void saveJsonToFile(const std::string& jsonPath, const nlohmann::json& jsonObject) {
    std::ofstream outputFile(jsonPath);
    if (outputFile.is_open()) {
        outputFile << jsonObject.dump(4); // 4 spaces for pretty printing
        outputFile.close();
        __android_log_print(ANDROID_LOG_INFO, "YourAppTag", "JSON file saved successfully.");
    } else {
        __android_log_print(ANDROID_LOG_ERROR, "YourAppTag", "Failed to open the JSON file for writing.");
    }
}

int main() {
    // 创建一个JSON对象
    nlohmann::json j;
    j["name"] = "John Doe";
    j["age"] = 30;
    // ...添加更多数据...

    // 假设我们有权限写入应用的私有目录
    std::string jsonPath = "/data/data/your.package.name/files/output.json";

    // 保存JSON到文件
    saveJsonToFile(jsonPath, j);

    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AI算法网奇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值