我正在尝试将 JSON cpp 与 VS2008 一起使用。
谁能告诉我是否可以将二进制数据打包成 JSON 格式?我正在将图像文件读char* buffer
入JSON::Value
. 但是当我尝试解析它时,我在 JSON 对象中找不到缓冲区内容。
代码如下。
Json::Value root;
Json::Reader reader;
Json::StyledWriter writer;
int length;
char * buffer;
ifstream is;
is.open ("D:\\test.j2k", ios::binary);
// get length of file:
is.seekg (0, ios::end);
length = is.tellg();
is.seekg (0, ios::beg);
// allocate memory:
buffer = new char [length];
// read data as a block:
is.read (buffer,length);
root["sample"] = *buffer;
writer.write(root);
cout << root;
const string rootAsString = root.toStyledString();
cout << rootAsString << endl;
由于我是 VC++ 新手,我不确定将图像文件读取到 char * 缓冲区是否正确/错误。请让我知道代码有什么问题。谢谢。