相关疑难解决方法(0)

JSON字符串中的二进制数据.比Base64更好的东西

JSON格式本身不支持二进制数据.必须对二进制数据进行转义,以便可以将其放入JSON中的字符串元素(即使用反斜杠转义的双引号中的零个或多个Unicode字符).

转义二进制数据的一个明显方法是使用Base64.但是,Base64具有很高的处理开销.它还将3个字节扩展为4个字符,从而使数据量增加了大约33%.

一个用例是CDMI云存储API规范的v0.8草案.您可以使用JSON通过REST-Webservice创建数据对象,例如

PUT /MyContainer/BinaryObject HTTP/1.1
Host: cloud.example.com
Accept: application/vnd.org.snia.cdmi.dataobject+json
Content-Type: application/vnd.org.snia.cdmi.dataobject+json
X-CDMI-Specification-Version: 1.0
{
    "mimetype" : "application/octet-stream",
    "metadata" : [ ],
    "value" :   "TWFuIGlzIGRpc3Rpbmd1aXNoZWQsIG5vdCBvbmx5IGJ5IGhpcyByZWFzb24sIGJ1dCBieSB0aGlz
    IHNpbmd1bGFyIHBhc3Npb24gZnJvbSBvdGhlciBhbmltYWxzLCB3aGljaCBpcyBhIGx1c3Qgb2Yg
    dGhlIG1pbmQsIHRoYXQgYnkgYSBwZXJzZXZlcmFuY2Ugb2YgZGVsaWdodCBpbiB0aGUgY29udGlu
    dWVkIGFuZCBpbmRlZmF0aWdhYmxlIGdlbmVyYXRpb24gb2Yga25vd2xlZGdlLCBleGNlZWRzIHRo
    ZSBzaG9ydCB2ZWhlbWVuY2Ugb2YgYW55IGNhcm5hbCBwbGVhc3VyZS4=",
}
Run Code Online (Sandbox Code Playgroud)

是否有更好的方法和标准方法将二进制数据编码为JSON字符串?

base64 json

581
推荐指数
10
解决办法
45万
查看次数

Gzip的JavaScript实现

我正在编写一个Web应用程序,需要通过AJAX将JSON数据存储在一个小的,固定大小的服务器端缓存中(想想:Opensocial配额).我无法控制服务器.

我需要减少存储数据的大小以保持服务器端配额,并且希望能够在将其发送到服务器之前在浏览器中对字符串化JSON进行gzip.

但是,我找不到Gzip的JavaScript实现方式.有关如何在发送之前压缩客户端数据的任何建议吗?

javascript compression ajax gzip

204
推荐指数
7
解决办法
15万
查看次数

如何在构建JSON字符串时转义特殊字符?

这是我的字符串

{
    'user': {
        'name': 'abc',
        'fx': {
            'message': {
                'color': 'red'
            },
            'user': {
                'color': 'blue'
            }
        }
    },
    'timestamp': '2013-10-04T08: 10: 41+0100',
    'message': 'I'mABC..',
    'nanotime': '19993363098581330'
}    
Run Code Online (Sandbox Code Playgroud)

这里的消息包含单引号,与JSON中使用的引用相同.我所做的是填写用户输入的字符串,如消息.所以,我需要摆脱那些破坏代码的特殊场景.但除了字符串替换之外,是否有任何方法可以使它们转义但仍允许HTML将它们处理回正确的消息?

json

189
推荐指数
4
解决办法
65万
查看次数

如何使用JavaScript转义包含换行符的JSON字符串?

我必须形成一个JSON字符串,其中一个值具有换行符.这必须转义然后使用AJAX调用发布.任何人都可以建议使用JavaScript来逃避字符串.我没有使用jQuery.

javascript escaping

157
推荐指数
8
解决办法
32万
查看次数

JSON 中的二进制数据

我正在网站的客户端使用 javascript 代码来解析混合字符串/原始数据,这些数据通过 http POST 响应通过 JSON 对象接收。

该 JSON 对象的某些字段是文本/数字,但最大且最重要的字段(性能方面)是由原始数据(八位字节)组成的原始字段。

如何将该字段转换为Float64Array()对象,以便我可以使用纯现代 JavaScript 解析数据,并考虑到性能?

javascript json typed-arrays

5
推荐指数
1
解决办法
1万
查看次数

pdf文件上传ajax html

    var file = $('#image').prop('files')[0];
    var filename = $('#af_rpta_propertyland_filename').val();

    var form_data = new FormData();
    form_data.append('file', file);
    alert(form_data);


    $.ajax({
        type: 'POST',
        url: '../include/upload.php',
        //dataType: "json",
        data: {
            file: form_data,
            filename: filename
        },
        success: function(data) {
            console.log(data);
            for (var i = 0; i < data.length; i++) {
                console.log("file " + i + ": " + data[i].file);
            }

        },
        error: function(data) {
            alert('No Record Found: ' + data);
        }


    });
Run Code Online (Sandbox Code Playgroud)

<input id="image" name="image" type="file" />

这是我如何在我的PHP代码中使用ajax上传我的pdf文件我这样做

$file = mysql_real_escape_string($_POST['file']);
$filename = mysql_real_escape_string($_POST['filename']);
    if (isset($_FILES['file']) …
Run Code Online (Sandbox Code Playgroud)

javascript php pdf ajax jquery

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×4

json ×3

ajax ×2

base64 ×1

compression ×1

escaping ×1

gzip ×1

jquery ×1

pdf ×1

php ×1

typed-arrays ×1