如何将二进制数据解析为RapidJson文档

时间:2014-12-14 11:59:30

标签: c++ json rapidjson

我有一个客户端服务器设置。 客户端将JSON文档序列化为二进制格式。 客户端将二进制数据发送到服务器。 服务器应该将char *缓冲区转换回JSON字符串。

我没有找到使用'Document'或其他流API的方法。

示例:

客户端正在序列化以下数据:

char * test()
{
    // 1. Parse a JSON string into DOM.
    const char* json = "{\"project\":\"rapidjson\",\"stars\":11}";

    Document d;
    d.Parse(json);

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

    const char *jsonString = buffer.GetString();
    return jsonString;
}

服务器代码:

static const unsigned char JsonBinary[]={0x7b, 0x22, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,     0x22, 0x3a, 0x22, 0x72, 0x61, 0x70, 0x69, 0x64, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x2c, 0x22, 0x73, 0x74, 0x61, 0x72, 0x73, 0x22, 0x3a, 0x31, 0x31, 0x7d};

void deserialize(char * bin)
{
    Document d;
    // how to convert the char * to Document to get back the JSON string?
}

由于

0 个答案:

没有答案