java - 仅使用默认库在 jython 中解码 json

标签 java python json jython

我有一个关于将 json 放入我的 jython 脚本的问题。这是我的场景:

  • 我在笔记本电脑上运行 python 应用程序
  • 该应用需要与在托管环境中运行的 jython 应用共享数据 环境在第 3 方的云环境中。
  • 我无法将第 3 方模块添加到此环境中(所以我 例如无法安装 com.xhaus.jyson)
  • 这可能意味着我仅限于使用原生的功能 java - 可能是 org.json.JSONObject

因此,由于这些限制,我想在我的笔记本电脑上获取一个字典对象,将其转换为 json,将其传送到托管的 jython 应用程序,然后使用 native jython 或 java 工具将其转换回该字典对象,所以我可以在我托管在云中的脚本中继续处理它。

我已经知道如何在 “常规” python 中执行此操作。这很简单。导入 json 并发疯。但是我的java功夫很弱,以前从来没有用过jython。

所以我想弄清楚是否可以使用 jython 底层的 java 可靠且轻松地执行此操作,或者我是否最好使用 ast 之类的东西并将字典作为字符串文字发送。老实说,出于人们喜欢 json 的所有正常原因,我更愿意坚持使用 json,因此我们将不胜感激利用 java 库完成这项工作的任何帮助。

最佳答案

我忘记了这个问题。我的核心问题是我使用的是第三方云产品,而他们是 Jython 安装的所有者,所以我对 Jython 环境的更改受到限制。当时我想我可以利用 jython 可用的 JAVA 库来解决这个问题,但从未成功。

虽然 jython 不在我的控制范围内,但我确实控制了发送数据的方式,因此我没有使用 JSON,而是发送了格式化的字符串,然后使用 jython 中的 python ast 库将这些字符串转换为 python 对象。

最后看起来像这样:

thestring = """['name', 'quest', 'favorite color']"""
theobject = ast.literal_eval(thestring)

这种类型的逻辑让我在本地机器上的 python 脚本将字符串发布到运行 jython 的网络应用程序,并将这些字符串转换为 python 数据类型,然后使用它们。这正是我想在不实际使用 JSON 的情况下用 JSON 做的事情——它是 python 字典,所以如果你没有真正注意的话,它看起来非常像 JSON。

谢谢大家的建议。

关于java - 仅使用默认库在 jython 中解码 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21287905/

相关文章:

java - 在 WAS 应用程序中配置/访问 MQQueueConnectionFactory

jquery - 使用 ajax 和 jQuery 根据在 flask 中第一个下拉列表中选择的值填充第二个下拉列表

python - 在 SqlAlchemy 中创建动态选择查询

java - Jackson 反序列化对象内部字段

json - 使用 Ajax JSON 的动态 JQuery 移动弹出窗口

java - SSL 连接超时和读取超时

java - 如何等待并锁定文件

java - 在android Activity 之间传递字节数组

python - 处理timedelta()和datetime.now

json - 使用 Haskell 对巨大的 json 数组进行子采样