【发布时间】:2018-09-08 04:31:06
【问题描述】:
我有一个函数以以下形式返回输出:
结果是:
outputs {
key: "output"
value {
dtype: DT_FLOAT
tensor_shape {
}
float_val: -3.33661770821
}
}
我想对这个输出进行 jsonify 处理。但是当我尝试这种方式时
def ss():
........
return jsonify({'result':result})
它发送错误:
File "/usr/lib/python2.7/json/encoder.py", line 184, in default
raise TypeError(repo(o) + "is not JSON serializable")
TypeError:outputs {
key: "output"
value {
dtype: DT_FLOAT
tensor_shape {
}
float_val: -3.33661770821
}
}
我如何对上述输出进行 jsonify 处理?或者我想单独使用 Float_val 值。
【问题讨论】:
-
result的类型和值是什么?您发布的内容不是有效的字典,也不能是字符串,因为字符串是 JSON 可序列化的。 -
这可能是this question的骗子,但让我们等待minimal reproducible example...
-
我不知道结果的类型。我以为是字典,但不是。 weiminwang.blog/2017/09/12/… 此处的此链接具有相同的输出类型。
-
我自己得到了答案。它是来自 tensorflow 的协议消息,需要转换为 json。我使用谷歌协议包将此消息转换为 JSON。参考:developers.google.com/protocol-buffers/docs/reference/python/…
标签: python json python-2.7 serialization set