我想將一段代碼傳遞給包裝在JSON對象中的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),所以驗證器是一個紅鯡魚! –