javascript - 将 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 没有运气。
解决方案
只使用 JSON,不需要 pickle 库;Python 自带json
模块,浏览器 JS 可以开箱即用地将 json 解析为值。
通过类似的方式序列化您的数据json.dump
并JSON.parse
在浏览器中使用来反序列化它。
推荐阅读
- ruby-on-rails - 用于匹配 Ruby 中的 img 标签的正则表达式
- symfony - 如何在奏鸣曲中设置闪光成功消息
- java - 如何使用java在csv文件中写入标题和记录作为响应
- git - 如何使用 jenkins 修改 git -commit 消息?
- typescript - 页面大小和记录数不匹配 - 角度 6
- pandas - 如何为 pandas DataFrame 的子集分配一个常量?
- excel - 如何在 Excel 中将包含单选按钮的单元格设置为 ActiveCell
- kubernetes - 如何在创建 kafka 容器时修复“crashLoopBackoff”
- opengl-es - OpenGL SSBO 长度确定
- python - 使用线程时如何避免冗余?