- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试将 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 * 缓冲区是对还是错。请让我知道代码有什么问题。谢谢。
最佳答案
您必须对其进行编码,因为 JSON 是出现在 javascript 源代码中的 javascript 结构格式的子集。
JSON 中最常用的二进制数据编码是 Base64。我使用它(用 c++ 以外的其他语言)来毫无问题地编码图像。如果将其设置为图像的 src,您只需在编码后的图像前加上 data:image/png;base64,
(假设它是 png)即可在 javascript 中自动对其进行解码。
编辑:与任何其他语言一样,C++ 中的 base64 编码很容易。这是一个图书馆:https://github.com/ReneNyffenegger/development_misc/tree/master/base64
关于c++ - 二进制数据 JSONCPP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10812053/
我现在才使用jsonCPP库几个月。我试图添加和删除数组中的对象。香港专业教育学院在不同的平台上使用了许多不同的JSON库,但我发现使用JsonCPP很难。 这是杰森: { "type": "Di
我正在尝试创建一个 json cpp 数组并用 std::vector 中的数据填充它。 我的代码是这样的 void Box_20::BuildCommitUploadPostData(const P
strcpy(this->encoding, jsonvalue.get("encoding", "").asCString()); 我需要在我的程序中使用 json 数据,昨天我使用 nuGet 下
我正在使用 v1.6.2 上的 jsoncpp 库Win32 平台。一切正常,我可以解析 json 并访问 Json:Values成功使用 v.["firstname"]等等。 问:我如何找到 Jso
我正在使用 C++ 中的 json,并决定试用 Jsoncpp。在我的 json 中,我有一些以科学计数法表示并包含负指数的值,例如 4.0e-06。当我去解析这个 json 字符串时,我得到了奇怪的
我在 JSONcpp 中有一个根,具有这样的字符串值。 Json::Value root; std::string val = "{\"stringval\": \"mystring\"}"; Js
我在使用 jsoncpp 时遇到问题.代码如下: Json::Value content; for ( int i=0; i < len; ++i) { content["res"].appe
我正在尝试将 JSON cpp 与 VS2008 一起使用。 谁能告诉我是否可以将二进制数据打包成 JSON 格式?我正在将图像文件读入 char* buffer,并将其放入 JSON::Value。
我正在使用 JSONCPP 记录我在服务器上收到的消息,但它没有附加消息,而是替换了最后一条消息。这是我的代码:ofstream 和 event 是私有(private)成员。 //std::of
我在 jsoncpp 查找了代码示例.对于成员数组,即下面 json 数据中的“插件” { // Default encoding for text "encoding" : "UTF
问题描述 我正在尝试为 JsonCpp 编写包装器.我的包装器必须具有以下功能 解析(const string& input) GetString(string& output, const stri
我最近升级到 JsonCpp 版本 1.6.5。 我注意到小数点后的数字为零的 float 在打印时会被截断。例如 2.0 打印为 2 我使用的以前的版本 (v0.6.0) 没有这样做。 这种行为是预
我正在使用 Jsoncpp 通过 Json::FastWriter 将 Json::value 写入字符串。 string s; s.append("me?json="); val["firstnam
我正在使用 jsoncpp 读取 JSON 文件。当我写回文件时,我的浮点值略有偏差。为了进行测试,我决定将文件解析为 Json::Value,然后将该值写回到文件中。我希望它看起来一样,但浮点值不同
我有这个 JSON 对象: {"books":[ { "author" : "Petr", "book_name" : "Test1", "pages" :
所以我最近安装了 JSONCPP,出于某种原因,当我尝试这段代码时它给了我错误: #include #include #include int main(){ bool alive =
我正在尝试使用 jsoncpp 的合并版本(最新版本),但它会产生 Unresolved external symbol 链接错误。我使用的代码是 #include int main(){ J
我的 json 对象中有一个列表,我想遍历列表中的元素我看到了以下帖子Iterating through objects in JsonCpp , 但这对我不起作用 我的 json 对象: {
JSONCPP 有一个编写器,但它似乎所做的只是从解析器获取信息,然后将其输出到字符串或流中。如何让它改变或创建新的对象、数组、值、字符串等并将它们写入文件? 最佳答案 #include 代码:
本文实例讲述了C++解析Json的方法。分享给大家供大家参考,具体如下: JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,和xml类似,本文主要对VS
我是一名优秀的程序员,十分优秀!