Я пытаюсь использовать JSON cpp с VS2008.Двоичные данные 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++, я не уверен, является ли чтение файла изображения на символ * буфер правильно/неправильно. Пожалуйста, дайте мне знать, что не так с кодом. Благодарю.
Вы можете объяснить в терминах кода выше? где я совершил ошибку? –
Вы помещаете содержимое своего файла в свое значение, и вы попросите StyledWriter его закодировать. Как он должен знать, что он должен добавить префикс, который я предлагаю, и кодировать его в base64? –
спасибо ... Я закодировал его в base64. Теперь работает отлично. –