python - 类型错误 : Object of type TypeError is not JSON serializable Python

标签 python json

所以我有这样格式的 JSON 请求:

{
"item_ids": [635,10,692,194,9412],
"gender": "male",
"number_results": 5
}

我正在尝试解析“item_ids”中的数组。但是我收到了标题中的错误消息。这是我的代码:

resto_id = json.loads['item_ids']
data  = json.dumps(resto_id)

我也试过这个:

response = requests.get("http://127.0.0.1:8520/recommend_multi")
users = json.loads(response.text)
data = users['item_ids']

但是给了我一个错误:

TypeError: Object of type JSONDecodeError is not JSON serializable

编辑:也许这会有所帮助:

@app.route('/recommend_multi', methods=['POST'])
def recommend_multi():

    dct={}
    new_user = 'newusername'
    try:
        e=""
        resto_id = json.loads['item_ids']
        data  = json.dumps(resto_id)
        # response = requests.get("http://127.0.0.1:8520/recommend_multi")
        # users = json.loads(response.text)
        # data = users['item_ids']
        
        gender = request.json['gender']
        resto_rec = float(request.json['number_results'])

        input_dict = {'id_resto': data,
        'gender': [gender, gender, gender, gender, gender], 'username': [new_user, new_user, new_user, new_user, new_user]}
        
        dct = {"items": input_dict}
        dct2 = {"data": dct, "message":"sukses", "success":True}

    except Exception as e:
        dct2 = {"data": dct, "message":e, "success":False}
    

    return jsonify(dct2)

这是回溯: enter image description here enter image description here 我用 docker 运行它。根据要求,我正在使用 Insomnia

最佳答案

问题出在这段代码中:

    except Exception as e:
        dct2 = {"data": dct, "message":e, "success":False}

您基本上是在尝试对异常 e 进行 JSON 序列化,这是不可能的。您需要使用 JSON 可序列化的内容,例如异常的字符串表示形式,例如使用 str(e):

    except Exception as e:
        dct2 = {"data": dct, "message":str(e), "success":False}

关于python - 类型错误 : Object of type TypeError is not JSON serializable Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68108446/

相关文章:

python - 使用 apache、mod-wsgi 部署 django

python - 谷歌应用引擎: how to unescape POST body?

python - Tornado .gen.BadYieldError : yielded unknown object None

javascript - 在 Emberjs 中使用每个数据显示嵌套的 json 数据

python - 如何从 Pandas 数据帧为 LSTM 模型创建输入样本?

c# - 如何将 JSON 数据发布到 MVC 4 Controller ?

c# - 反序列化保留本地时间的日期

ios - 使用 youtube api 通过 swift 3 获取视频列表

java - Android Json查询错误

python - 如何使用 python pyhs2 连接到配置单元?