首页 > 解决方案 > 将 Pickle 对象转换为 JS 可读的代码?

问题描述

我对 Pickle 库和 JS 很陌生。我正在用 JS 编写代码来与 Python 服务器交互;当我对 Python 服务器进行 POST 时,我返回了一个腌制的浮点数。我想将浮点数转换为 JS 可读的对象。

服务器返回类似pickle.dumps(3.14159,0). 当我在 Python 中打印这个值时,我得到b'F3.14159\n.'了但是,我正在使用的库 JPickle 无法解释返回中的“b”(或者至少,这就是我的猜测......当我尝试取消腌制时我的回复使用console.log(jpickle.loads(response)),我收到“未处理的操作码”错误)。与 POST 请求分开,jpickle.loads('F3.14159\n.')给我 3.14159,但jpickle.loads(b'F3.14159\n.')无法编译。我不确定如何更改从 POST 获得的响应,因为它在 JS 中不可读,所以我不确定如何解决这个问题。

我对任何不涉及更改服务器端代码(我无法控制它)的解决方案持开放态度,包括使用另一个库。我试过 JsonPickle 没有运气。

标签: javascriptpickle

解决方案


只使用 JSON,不需要 pickle 库;Python 自带json模块,浏览器 JS 可以开箱即用地将 json 解析为值。

通过类似的方式序列化您的数据json.dumpJSON.parse在浏览器中使用来反序列化它。


推荐阅读