首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >simplejson.errors.JSONDecodeError

simplejson.errors.JSONDecodeError
EN

Stack Overflow用户
提问于 2019-05-14 12:12:13
回答 1查看 4.9K关注 0票数 1

我正试图从邮递员那里调用API,但是我的控制台出现了错误。在下面的代码中,我试图对它进行解码并根据它进行进一步的处理。

API- https://localhost:5005/abc/xyz

方法- POST

数据- {"q":"hi"}

server.py

代码语言:javascript
复制
 def request_parameters(request):
    if request.method.decode('utf-8', 'strict') == 'GET':
        return {
            key.decode('utf-8', 'strict'): value[0].decode('utf-8',
                                                           'strict')
            for key, value in request.args.items()}
    else:
        content = request.content.read()
        try:
            return json.loads(content.decode('utf-8', 'strict'))
        except ValueError as e:
            logger.error("Failed to decode json during respond request. "
                         "Error: {}. Request content: "
                         "'{}'".format(e, content))
            raise

全叠迹

代码语言:javascript
复制
     Failed to decode json during respond request. Error: Expecting value: line 1 column 1 (char 0). Request content: 'b'''
2019-05-14 18:21:53+0530 [-] Unhandled Error
        Traceback (most recent call last):
          File "C:\Anaconda3\lib\site-packages\twisted\web\server.py", line 258, in render
            body = resrc.render(self)
          File "C:\Anaconda3\lib\site-packages\klein\resource.py", line 210, in render
            d = defer.maybeDeferred(_execute)
          File "C:\Anaconda3\lib\site-packages\twisted\internet\defer.py", line 151, in maybeDeferred
            result = f(*args, **kw)
          File "C:\Anaconda3\lib\site-packages\klein\resource.py", line 204, in _execute
            **kwargs)
        --- <exception caught here> ---
          File "C:\Anaconda3\lib\site-packages\twisted\internet\defer.py", line 151, in maybeDeferred
            result = f(*args, **kw)
          File "C:\Anaconda3\lib\site-packages\klein\app.py", line 128, in execute_endpoint
            return endpoint_f(self._instance, *args, **kwargs)
          File "C:\Anaconda3\lib\site-packages\klein\app.py", line 227, in _f
            return _call(instance, f, request, *a, **kw)
          File "C:\Anaconda3\lib\site-packages\klein\app.py", line 50, in _call
            result = f(*args, **kwargs)
          File "server.py", line 61, in parse
            request_params = request_parameters(request)
          File "server.py", line 22, in request_parameters
            return json.loads(content.decode('utf-8', 'strict'))
          File "C:\Anaconda3\lib\site-packages\flask\json\__init__.py", line 205, in loads
            return _json.loads(s, **kwargs)
          File "C:\Anaconda3\lib\site-packages\simplejson\__init__.py", line 535, in loads
            return cls(encoding=encoding, **kw).decode(s)
          File "C:\Anaconda3\lib\site-packages\simplejson\decoder.py", line 370, in decode
            obj, end = self.raw_decode(s)
          File "C:\Anaconda3\lib\site-packages\simplejson\decoder.py", line 400, in raw_decode
            return self.scan_once(s, idx=_w(s, idx).end())
        simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

script.js

代码语言:javascript
复制
function respond(msg) {
data = {
    query: msg //msg is getting from chatbot
}
fetch(`${url}/conversations/default/respond`, {
    mode: 'no-cors',
    method: 'POST',
    // dataType:'jsonp',
    q: data,
    headers: {
      'Content-Type': 'application/json',
    },

})
EN

回答 1

Stack Overflow用户

发布于 2019-05-14 12:24:03

您可以使用request.get_json()直接在json中获取内容。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56130185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档