QT : Bson\Json互转

简介

Bson 介绍

(1)官网 BSON (Binary JSON) Serialization

(2)百度百科 BSON_百度百科

Json介绍

菜鸟教程 JSON 教程 | 菜鸟教程

转换

QT /CPP

#include <QCoreApplication>
#include <QJsonDocument>
#include <QFile>
#include <QDebug>
 
#include "bson/Value.h"
 
BSON::Value gbsonDoc = BSON::Object{
   {
   "undefined", BSON::Value{
   }},
                               {
   "int32", (BSON::int32)1},
                               {
   "int64", (BSON::int64)1},
                               {
   "double", 3.14},
                               {
   "true", true},
                               {
   "false", false},
                               {
   "string", "foobar"},
                               {
   "datetime", std::chrono::milliseconds{
   123}},
                               {
   "object", BSON::Object{
   {
   "foo", "bar"}}},
                               {
   "array", BSON::Array{
   1, 2, 3}}};
 
int main(int argc, char *argv[])
{
   
    QCoreApplication a(argc, argv);
 
    std::string bsonString = gbsonDoc.toBSON(); // bson结构->bson字符串
    BSON::Value bsonDoc = BSON::Value::fromBSON(bsonString); // bson字符串->bson结构
 
    QString jsonString = QString::fromLocal8Bit(gbsonDoc.toJSON().c_str()); // bson结构->json字符串
    QJsonDocument jsonDoc = QJsonDocument::fromJson(QByteArray::fromStdString(bsonDoc.toJSON()));  // bson结构->QJsonDocument
 
    BSON::Value bsonDocfromJson = BSON::Value::fromJSON(std::string(const_cast<const char *>(jsonString.toLocal8Bit().constData()))); // json字符串->bson结构
 
 
    qDebug() << "Bson String: " << QByteArray::fromStdString(bsonDoc.toJSON());
    qDebug() << "Json String: " << jsonString;
    qDebug() << "Json Document: " << jsonDoc;
 
    return a.exec();
}

​参考:

https://github.com/trusch/libbson

资源:

QT 例子代码 - https://download.csdn.net/download/halo_hsuh/12284550

相关推荐

  1. QT : Bson\Json

    2024-01-09 09:06:03       44 阅读
  2. 【maskjson】文件

    2024-01-09 09:06:03       54 阅读
  3. vue json字符串和Hex

    2024-01-09 09:06:03       14 阅读
  4. FastJson==xml与json格式工具类

    2024-01-09 09:06:03       12 阅读
  5. Date与LocalDate

    2024-01-09 09:06:03       35 阅读
  6. jsonyolo格式

    2024-01-09 09:06:03       38 阅读
  7. xmljson

    2024-01-09 09:06:03       20 阅读
  8. C# 字符串json

    2024-01-09 09:06:03       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-09 09:06:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-09 09:06:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-09 09:06:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-09 09:06:03       20 阅读

热门阅读

  1. SPI异步传输使用DMA 问题点

    2024-01-09 09:06:03       40 阅读
  2. js中alter、confrim、prompt的区别及使用

    2024-01-09 09:06:03       44 阅读
  3. 机器人迎来了chatGPT时刻

    2024-01-09 09:06:03       48 阅读
  4. rknn加载onnx时报错 GLIBC=2.29 no found librknnc.so

    2024-01-09 09:06:03       41 阅读
  5. 阿里云大数据ACA及ACP复习题(101~120)

    2024-01-09 09:06:03       29 阅读
  6. 阿里云大数据ACA及ACP复习题(81~100)

    2024-01-09 09:06:03       22 阅读
  7. SpringBoot 整合 RabbitMQ

    2024-01-09 09:06:03       34 阅读