我正在构建JSon对象,我需要输出二进制数据.据我所知,我应该创建JSon字符串属性并将编码的二进制数据放入其中?应该使用什么二进制编码?
是否可以在JSON对象中嵌入文件附件.我有一个HTML表单,它有几个文本字段输入和一个文件附件.我想发送一个JSON对象将所有这些表单数据(包括文件附件)包装到服务器.
Java中是否有任何特定的库可以执行此操作?你能为此提供可能的解决方案吗?
谢谢
我有一堆格式为 JSON(序列化对象)的数据。我通过POST带有 header:的方法将此数据发送到服务器Content-Type: application/json。
是否可以将文件附加到正文请求并立即发送。或者 JSON 数据建议只发送文本数据?
我在这里使用 boost gzip 示例代码。我正在尝试压缩一个简单的字符串测试,并期望压缩字符串H4sIAAAAAAAACitJLS4BAAx+f9gEAAAA如该在线压缩器所示
static std::string compress(const std::string& data)
{
namespace bio = boost::iostreams;
std::stringstream compressed;
std::stringstream origin(data);
bio::filtering_streambuf<bio::input> out;
out.push(bio::gzip_compressor(bio::gzip_params(bio::gzip::best_compression)));
out.push(origin);
bio::copy(out, compressed);
return compressed.str();
}
int main(int argc, char* argv[]){
std::cout << compress("text") << std::endl;
// prints out garabage
return 0;
}
Run Code Online (Sandbox Code Playgroud)
然而,当我打印出转换结果时,我得到了像+I-这样的垃圾值。〜
我知道这是一个有效的转换,因为解压值返回正确的字符串。但是我需要字符串的格式是人类可读的,即H4sIAAAAAAAACitJLS4BAAx+f9gEAAAA。
如何修改代码以输出人类可读的文本?
谢谢
动机
垃圾格式与我将通过其发送压缩文本的 JSON 库不兼容。
我正在压缩数组,如下所示,
\n\n<?php\n $input = array('name'=>'PHP');\n $compressed = gzcompress(serialize($input));\n\n echo '<pre>'; print_r($compressed);\n?>\nRun Code Online (Sandbox Code Playgroud)\n\n它正在打印如下数据
\n\nx\xc5\x93K\xc2\xb42\xc2\xb4\xc2\xaa.\xc2\xb62\xc2\xb1R\xc3\x8aK\xc3\x8cMU\xc2\xb2.\xc2\xb62\xc2\xb6R\n\xc3\xb0P\xc2\xb2\xc2\xaenJ\xc2\xbb\nRun Code Online (Sandbox Code Playgroud)\n\n现在,我想转换$compressed为 json 字符串。由于压缩数据包含特殊字符,它会抛出错误,所以我尝试JSON_UNESCAPED_UNICODE下面是代码片段。
<?php\n // $compressed value getting from above script\n echo json_encode($compressed,JSON_UNESCAPED_UNICODE);\n?>\nRun Code Online (Sandbox Code Playgroud)\n\n但它仍然不起作用。任何人都可以建议如何将压缩数据编码为 json 字符串。
\n是的,我知道async,朋友们在幕后做了很多事,但是从各种愿望清单中"清理"项目(WPF支持?)怎么样?或者还有其他C#5.0功能即将推出?