RapidJSON

C++ 的 JSON 开发包
授权协议 MIT
开发语言 C/C++
所属分类 Web应用开发、 JSON/BSON开发包
软件类型 开源软件
地区 国产
投 递 者 袁宜
操作系统 跨平台
开源组织 腾讯
适用人群 未知
 软件概览

Rapidjson 是一个 C++ 的快速 JSON 解析器和生成器,使用 SAX/DOM 风格的 API 设计。

示例代码:

// rapidjson/example/simpledom/simpledom.cpp`
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
#include <iostream>

using namespace rapidjson;

int main() {
    // 1. Parse a JSON string into DOM.
    const char* json = "{\"project\":\"rapidjson\",\"stars\":10}";
    Document d;
    d.Parse(json);

    // 2. Modify it by DOM.
    Value& s = d["stars"];
    s.SetInt(s.GetInt() + 1);

    // 3. Stringify the DOM
    StringBuffer buffer;
    Writer<StringBuffer> writer(buffer);
    d.Accept(writer);

    // Output {"project":"rapidjson","stars":11}
    std::cout << buffer.GetString() << std::endl;
    return 0;
}

介绍 PPT 下载:http://www.oschina.net/doc/5711

主要特点:

RapidJSON 是一个 C++的 JSON 解析器及生成器。它的灵感来自 RapidXml。

  • RapidJSON 小而全。它同时支持 SAX 和 DOM 风格的 API。SAX 解析器只有约500行代码。

  • RapidJSON 快。它的性能可与 strlen()相比。可支持SSE2/SSE4.1加速。

  • RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至不依赖于 STL。

  • RapidJSON 对内存友好。在大部分32/64位机器上,每个 JSON 值只占16或20字节(除字符串外)。它预设使用一个快速的内存分配器,令分析器可以紧凑地分配内存。

  • RapidJSON 对 Unicode 友好。它支持 UTF-8、UTF-16、UTF-32 (大端序/小端序),并内部支持这些编码的检测、校验及转码。例如,RapidJSON 可以在分析一个 UTF-8文件至 DOM 时,把当中的 JSON 字符串转码至 UTF-16。它也支持代理对(surrogate pair)及"\\u0000"(空字符)。

  • 1、简介 RapidJSON 是一个 C++ 的 JSON 解析器及生成器。它的灵感来自 RapidXml。 RapidJSON 小而全。它同时支持 SAX 和 DOM 风格的 API。SAX 解析器只有约 500 行代码。 RapidJSON 快。它的性能可与 strlen() 相比。可支持 SSE2/SSE4.2 加速。 RapidJSON 独立。它不依赖于 BOOST 等外部库。它甚至不依赖

  • 生成的目标json字符串 { "Int": 1, "Double": 12.0000001, "String": "This is a string", "Object": { "name": "qq849635649", "age": 25 }, "IntArray": [ 10,

 相关资料
  • 本文向大家介绍IOS开发之JSON转PLIST实例详解,包括了IOS开发之JSON转PLIST实例详解的使用技巧和注意事项,需要的朋友参考一下  IOS JSON转PLIST   从xx.json文件中读取JSON数据,写入到xx.plist文件中,实现代码如下:      注:上面的代码片段必须在模拟器上运行     若将上面的代码片段改为如下:       注:在测试前已将city_provi

  • A C++ client for Redis 依赖于 c++ boost 库 It uses anet from Redis itself 在 Linux 上通过 g++ 的测试 支持分区

  • } 我想要创建REST服务,所以对于securitu,我需要对每个请求进行身份验证,所以我还需要传递一个用户名,而不仅仅是一个JSON。但是我不知道如何做到这一点,因为当我使用而不是时,它就不起作用了。所以我的问题是: 我如何在一个POST请求中同时传递JSON和其他参数(字符串、int...等)?

  • 术语说明 AppID AppID是轻应用/订阅号唯一识别标志,轻应用/订阅号管理员可在轻推管理后台中查看。 AppSecret AppSecret是给轻应用/订阅号分配的密钥,开发者需要妥善保存这个密钥,防止被恶意使用,为了安全,管理员也可以对此密钥进行修改,修改后前密钥失效。轻应用/订阅号管理员可在轻推管理后台中查看。 access_token access_token(身份令牌)是轻应用/订阅

  • 源码目录结构 构建系统概览 构建步骤(Windows) 在调试中使用 Symbol Server

  • 错误分析

  • Developing Electron Electron 和 NW.js (原名 node-webkit) 在技术上的差异 Updating an Appveyor Azure Image Build Instructions 构建步骤(Linux) 构建步骤(macOS) 构建步骤(Windows) 构建系统概览 Chromium 开发 在 C++ 代码中使用 clang-format 工具 代

  • 开始开发环境设置 在你使用 yarn 或 npm install 安装了依赖之后, 运行... yarn run dev # 或者 npm run dev ...然后 轰! 现在,你就在运行一个 electron-vue 应用程序. 此样板代码附带了几个易于移除的登录页面组件。