0
我想與VS2008使用JSON CPP。二進制數據JSONCPP
誰能告訴我是否可以將二進制數據打包成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 *是正確/錯誤。請讓我知道代碼有什麼問題。謝謝。
你能解釋一下上面的代碼嗎?我犯了什麼錯誤? –
您將文件的內容放入您的值中,然後讓StyledWriter對其進行編碼。它應該如何知道它應該添加我建議的前綴並將其編碼爲base64? –
謝謝...我用base64編碼它。現在工作正常。 –