【发布时间】:2019-12-28 06:13:47
【问题描述】:
我有 JavaScript 可以解析 JSON object(对象有数组)并从 ZONE 字段返回值。
var obj = JSON.parse(json_text);
parsed_val = obj.features[0].attributes.ZONE
我想将 JavaScript 代码转换为 Jython。
这是我尝试过的:
from com.ibm.json.java import JSONObject
obj = JSONObject.parse(json_text)
parsed_val = obj.get('features.attributes.ZONE');
Jython 编译,但它没有返回有效值(它返回None)。我认为这是因为我没有正确引用数组。
如何使用 Jython 解析 JSON 对象/数组以获取 ZONE 值?
(Jython 版本是 2.7.0。但是,我似乎无法使用 Python 的 JSON 库(通常包含在 Jython 中))。
【问题讨论】:
-
我无法将其他 Python 库添加到我的系统/服务器。因此,我相信我仅限于 Jython/Maximo 中包含的 Java 库。
-
您可以将 java 库添加到系统中,但这会产生其他问题。谷歌相关函数的 java 文档。 ibm.com/support/knowledgecenter/ja/SSEUEX_2.0.2/…
-
另外,由于很明显您使用的是 GIS 端点,我会注意到如果 GIS 出现故障、移动 url、请求丢失等,您的脚本可能会出现很多问题。我不鼓励指向 GIS 数据的 url 链接,除非已经以图形方式与之交互。不过总是例外。
-
试试
.get('features').get('attributes').get('ZONE'); -
@User1973 啊我原来没看到。我只是想将您包含的内容(
obj.get('features.attributes.ZONE'))翻译成可能有用的东西。我知道这个特定的 json 库是如何工作的,也许可以试试.get('features').get(0)...、.get('features')[0]...。无论哪种方式,都会有一种方法可以使用这个特定的库,因为 JSON 数组很常见。
标签: java json parsing jython maximo