1

だから私はセロリタスクキューを使用してHTTPリクエストを行うdjangoプロジェクトに取り組んでいます。

私のセロリタスクコードには次のものがあります。

json.loads('{"content-type": "application/json"}')
print test.headers
json.loads(test.headers)

結果は次のとおりです。

[2012-07-19 17:02:38,536: WARNING/PoolWorker-4] '{"content-type": "application/json"}'
[2012-07-19 17:02:38,569: ERROR/MainProcess] Task core.tasks.test_run[f304bcdd-72b3-4dd5-9abb-927dc29e7f65] raised exception: ValueError('No JSON object could be decoded',)
Traceback (most recent call last):
  File "/usr/local/bin/lib/python2.7/site-packages/celery/task/trace.py", line 212, in trace_task
    R = retval = fun(*args, **kwargs)     
  File "/opt/ironman_deploy/Ironman/core/tasks.py", line 18, in test_run
    json.loads(test.headers)
  File "/usr/local/bin/lib/python2.7/json/__init__.py", line 326, in loads
    return _default_decoder.decode(s)
  File "/usr/local/bin/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/local/bin/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
No JSON object could be decoded: No JSON object could be decoded

私は文字通り何が起こっているのか分かりません...上の2行で失敗しないため、明らかにjsonは文字列をデコードできますが、文字列を参照で渡すとチョークのように見えます。

誰かが私のためにこれに光を当てることができますか?

4

2 に答える 2

1

test.headers は dict である可能性があります。印刷すると、JSON のようなものが出力されますが、test.headers は JSON ではない可能性があり、それをデコードすると JSON がチョークします。

于 2012-07-19T21:39:06.913 に答える
0

あなたのスニペットはこれを示していません。最初の json.loads 呼び出しの結果に test.headers が割り当てられている場合、文字列を提供していないため、2 番目の呼び出しは明らかに失敗します。2 番目の呼び出しは json.dumps(test.headers) にする必要があります

于 2012-07-19T21:35:16.963 に答える