小编har*_*iom的帖子

'""' 是有效的 JSON 字符串吗?

我很困惑。引用 json.org

JSON 建立在两种结构之上:

  • 名称/值对的集合。在各种语言中,这被实现为对象、记录、结构、字典、哈希表、键控列表或关联数组。
  • 值的有序列表。在大多数语言中,这被实现为数组、向量、列表或序列。

因此,我认为 '""' 不应该是有效的 JSON 字符串,因为它既不是列表值(即不以 '[' 开头并以 ']' 结尾),但 JSON.parse 不会给出异常并返回空字符串。

它是一个有效的 JSON 字符串吗?

javascript json

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

为什么我不能使用Array.join.call代替Array.prototype.join.call

function test()
{
alert(Array.join.call(arguments,'/')) //alerts /
alert(Array.prototype.join.call(arguments,'/')) //alerts Js/JScript
alert(Array.join(arguments,'/')) //alerts Js/JScript
}
test('Js','JScript');
Run Code Online (Sandbox Code Playgroud)

为什么会有这种差异?为什么需要先引用原型?另外,为什么只有当连接只需要一个分隔符参数时,Array.join才会提供所需的结果.

javascript

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

用pako(javascript中的zlib)压缩,用zlib(python)解压不起作用

使用 pako( https://github.com/nodeca/pako ) Pako在 javascript 中进行压缩的代码。它压缩字符串 't'

var compressedString = pako.gzip('t', {level: 4, to: 'string'}));
$.ajax('/decompress', {string: compressedString})
Run Code Online (Sandbox Code Playgroud)

/decompress 执行解压的代码

from cgi import parse_qs, escape
import json
import zlib
def application(environ, start_response):
    status = '200 OK'
    try:
        request_body_size = int(environ.get('CONTENT_LENGTH', 0))
    except (ValueError):
        request_body_size = 0
    request_body = environ['wsgi.input'].read(request_body_size)
    d = parse_qs(request_body)

    response_headers = [('Content-type', 'text/plain')]
    start_response(status, response_headers)
    inputString = d.get('string')[0]
    # Use same wbits(=31) as used by pako
    decompressed = zlib.decompress(inputString, 31);
    return 'done'
Run Code Online (Sandbox Code Playgroud)

进行解压会引发以下错误。zlib.decompress 行发生错误。

错误:解压缩数据时出错 …

javascript python unicode zlib utf-8

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

标签 统计

javascript ×3

json ×1

python ×1

unicode ×1

utf-8 ×1

zlib ×1