我有一个客户端服务器设置。客户端将 JSON 文档序列化为二进制格式。客户端将二进制数据发送到服务器。服务器应将 char * 缓冲区转换回 JSON 字符串。
我没有找到使用“文档”或其他流 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?
}
谢谢