【发布时间】:2016-03-22 05:39:51
【问题描述】:
我正在尝试将一段代码传递给 REST 服务器,并包装在 JSON 对象中。示例代码如下所示
data = { 'code': textwrap.dedent("""\
val NUM_SAMPLES = 100000;
val count = sc.parallelize(1 to NUM_SAMPLES).map { i =>
val x = Math.random();
val y = Math.random();
if (x*x + y*y < 1) 1 else 0
}.reduce(_ + _);
println(\"Pi is roughly \" + 4.0 * count / NUM_SAMPLES)
""")
}
r = requests.post(statements_url, data=json.dumps(data), headers=headers)
但我收到以下错误
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.6/site-packages/requests-2.8.1-py2.6.egg/requests/models.py", line 805, in json
return complexjson.loads(self.text, **kwargs)
File "/usr/lib64/python2.6/json/__init__.py", line 307, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python2.6/json/decoder.py", line 319, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib64/python2.6/json/decoder.py", line 338, in raw_decode
raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded
我使用 JSON 验证器检查了 JSON 数据的有效性,出现错误
Error: Parse error on line 1:
data = { 'code': t
^
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined'
对解决此问题有任何帮助吗?
【问题讨论】:
-
这两个调用中的哪一个导致错误?它的论点究竟是什么?请在此处询问之前提取一个最小示例。无论如何,您似乎在某个时候将 Python 与 ECMAScript 混合在一起,这是两种不同的、不兼容的语言。顺便说一句:您仍在使用非常旧的 Python 版本,请考虑升级。
-
还有一点:JSON 不是 ECMAScript(或 JavaScript),所以验证器是一个红鲱鱼!