问题标签 [jsonpickle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
576 浏览

python - 使用 Python 的 Flask 和 jsonpickle 在 JSON 中获取不需要的转义字符

调试get方法(通过用户ID)后,我得到了这个

但是,正在显示的响应是:"{\"1\": {\"address\": \"123 Chestnut Ln\", \"age\": 35, \"city\": \"Denton\", \"name\": \"James Smith\", \"state\": \"Texas\", \"zip_code\": \"76210\"}}"

Flask 是否在返回时序列化对象?

另外,请假设已完成 POST 请求并且字典中有值。

0 投票
1 回答
367 浏览

python - Runtime.ImportModuleError: Unable to import module 'testsdk': No module named 'jsonpickle' with Python script using AWS Lambda

我的 Python 脚本已经在多台本地计算机上进行了测试,并且可以按预期工作。但是当脚本被压缩并上传到 AWS LambdaRuntime.ImportModuleError: Unable to import module 'testsdk': No module named 'jsonpickle'时,我会在测试代码时得到。testsdk是应该执行的所需 python 文件。

我本地 PC 上的 Python 版本是 3.7.0,它与 AWS Lambda 的 Python 版本相同。

对此的任何帮助将不胜感激!

0 投票
0 回答
174 浏览

python - jsonpickle.decode() 未在 Flask 中执行

我有一个使用 Apache 运行的 Flask 应用程序,它使用一些用jsonpickle. 使用 反序列化时jsonpickle.decode(my_json_string),什么都没有发生,这意味着该方法不返回任何内容,也不会引发错误。就好像它只是无限地进行(没有观察到它完成)。

我试过一个只有几 KB 大的玩具对象,我监控硬件使用情况,这不是内存问题,也不是 CPU 问题。

更令人费解的是,使用相同的代码在 Python 控制台中加载对象而不是 Flask(使用相同的 virtualenv),一切顺利,对象在几毫秒内被解码。

这是 Python 3.6.8、Flask 0.12.2、jsonpickle 1.2、Apache 2.4。

上面代码片段中的第 5 行在 Flask app/Apache 中运行时永远不会完成执行。在普通的 Python 控制台中,一切正常。

恐怕我不知道要提供什么更多信息,但非常感谢任何帮助或指示!

编辑:我也许应该补充一点,序列化对象包含一个 Pytorch 模块,但正如我所说,这真的很小。

更新:我尝试pickle改用并注意到完全相同的行为,奇怪的是。然后我删除了该对象的一些 Pytorch 组件,一切正常,所以看起来这根本不是jsonpickle/pickle问题。

0 投票
1 回答
69 浏览

python - 实现可迭代的 jsonpickle 解码两次

当我使用 jsonpickle 对自定义可迭代类进行编码和解码时,包含的项目会加倍。

我尝试使用 demjson 和 simplejson 并尝试实现此https://docs.python.org/2.5/ref/sequence-types.html。如果我从列表继承它确实有效。但我不想继承。如果我不实现iter它也有效

我有这样的课:

当我使用 jsonpickle 对此类进行编码并再次对其进行解码时,包含的产品会翻倍。此示例中引发了 ValueError

如果我使用encoded = jsonpickle.encode(products, make_refs=False)第二个对象是字符串而不是产品

我是否必须实施任何其他方法才能正常工作?

0 投票
1 回答
1111 浏览

json - 带有 jsonpickle 的泡菜(Python 3.7)

我在使用 jsonpickle 时遇到问题。相反,我相信它可以正常工作,但它没有产生我想要的输出。

我有一个名为“节点”的课程。在“节点”中有四个整数(x、y、宽度、高度)和一个名为“NodeText”的 StringVar。

序列化 StringVar 的问题是那里有很多信息,对我来说这不是必需的。我在程序运行时使用它,但不需要保存和加载它。

所以我使用了一种方法来更改 jsonpickle 保存的内容,使用__getstate__我的 Node.js 的方法。这样我可以做到这一点:

到目前为止效果很好,并且没有保存 NodeText。问题来了。我将文件正常加载到对象中(在本例中为节点列表)。

加载的问题是:从 json 加载的项目不是我班级中定义的节点。它们几乎相同(它们有 x、y、宽度和高度),但是因为 NodeText 没有保存在 json 文件中,所以这些类似 Node 的对象没有该属性。当我在这些节点的屏幕上创建可视实例时,这会导致错误,因为 StringVar 用于 tkinter Entry 文本变量。

我想知道是否有办法将这个“几乎节点”加载到我的实际节点中。我可以一次将每个属性复制到一个新实例中,但这似乎是一种不好的方法。

我还可以在保存之前将 NodeText StringVar 设为空(从而节省文件中的空间),然后在加载时重新初始化它。这意味着我将拥有完整的对象,但不知何故,这似乎是一个尴尬的解决方法。

如果您想知道 StringVar 还有多少信息,我的测试 json 文件只有两个节点。只需保存基本属性(x,y,width,height),文件为1k。每个都有一个 StringVar,这就变成了 8k。在小幅增加的情况下,我不会太在意,但这非常大。

我可以强制负载到这个 Node 类型,而不仅仅是 Python 创建的一些新类型吗?

编辑:如果您想知道 json 的样子,请看这里:

由于类名在那里,我认为这将是类的实例化。但是,当您使用 jsonpickle 加载文件时,您会获得字典并可以检查加载的数据并检查每个节点。两个节点都不包含属性“NodeText”。也就是说,它不是以“无”为值的东西——简单的属性不存在。

0 投票
0 回答
104 浏览

python - JSON-Pickle 返回自己的迭代器类作为列表迭代器而不是自身

我想将可迭代的 Python 类编码为 JSON,但是 JSON-Pickle 在解码时将其作为列表生成器返回。这是我的代码:

助手主要实现了 flatten-Method 和一个方法,它可以让我检查列表中的每个元素是否都属于某种类型:

RCEnum 是惊喜,惊喜一个简单的枚举:

但现在到了重要的部分:

由于某种原因 it2 不是 InnerTable 而是一个 list_iterator 对象,为什么?我能做些什么来纠正这个问题?(请注意,出于时间原因,从 InnerTable 中删除可迭代函数对我来说是非常不愉快的,因为我认为这两个函数不应该一起使用。)

0 投票
1 回答
952 浏览

python-3.x - 将 Spacy 对象序列化为 Json

我正在尝试从 Spacy 序列化 Doc 对象。看起来所有层次结构都没有被序列化。基本上我想序列化这个对象以通过 Rest 调用发送。

简单的测试用例如下:

错误:

0 投票
0 回答
204 浏览

python - 如何使用 jsonpickle 序列化 Python 类?

我在 VS Code 上运行以下代码来序列化 Python 类:

当我在 VS Code 上运行此代码时,出现以下错误:

但是,当我在 Jupyter 笔记本上运行完全相同的代码时,我得到了所需的输出,它位于 P_C.json 中:

我已经检查过我在 VS Code 上使用的是 Python 3

谢谢!

0 投票
1 回答
532 浏览

json - 如何在烧瓶 pymongo 中使用 jsonpickle 序列化 ObjectId

我使用 Flask 和 MongoDB 作为数据库和 pymongo 作为驱动程序。我在将对象序列化为 JSON 时遇到了麻烦,json.dumps()正如它一直所说的那样。我找到了一个名为将对象序列化为 JSON 的库。除了字段之外,它按预期做得很好。当我检查数据类型时,它显示为一种类型。这是我的代码:json.loads()json_util.dumps()TypeError: Object of type 'EachRoom' is not JSON serializablejsonpickleObjectIdbytes

这是回应:

唯一出错的是id,user_id_id作为ObjectId类型。需要建议请..

0 投票
0 回答
4668 浏览

python - 将pkl文件转换为json文件

我是堆栈溢出的新手。

我正在尝试使用 python 将 pkl 文件转换为 json 文件。下面是我的示例代码

当我运行这段代码时,我得到了错误TypeError: '_io.TextIOWrapper' object is not callable。通过遵循一些相同的问题This oneThis one,这些问题建议在第 7 行使用write方法 withinput_file()但我仍然收到此错误io.UnsupportedOperation: write,这可能是一种写入方法,但我将它用于阅读和阅读我无法罚款任何方法。我也尝试通过以下方式读取泡菜文件

我收到了这个错误

我需要一些好的建议来解决这个问题?有关可以执行此任务的其他工具的任何建议,都将是可观的。谢谢