由于我不明白的原因,我需要解析的来自 web 服务的 JSON 格式数据不在 nme 值对中。“为了简单起见并减少开销”返回的 JSON 似乎是一种适用于 python eval 的格式,但据我所知,不适用于 javascript(警告,我的 javascript 很差,所以我可能是错的 - php 等,很好.js,没那么多!)
所以数据返回为:
[[0, 'OK'],
[['ITEM10314', ['ITEM10397']],
['ITEM10315', ['cornflower']],
['ITEM10397', ['ITEM10315']],
['ITEM10514', ['ITEM10397']],
['ITEM003', []],
['ITEM004', []],
['servertest', ['ITEM004', 'ITEM003']],
['serverroot', []]]]
(如果您有兴趣,这是来自 MKLiveStatus 对 Nagios LQL 主机查询的回复)
第一个数组是状态,随后的数组由在 nagios 中监控的主机和该主机的父母(在内部数组中)组成。
不错,不是吗。但是我需要把它变成像样的键/值对,并且必须有比为此编写自己的解析器更好的方法(尤其是因为这是一个数据输出,但还有几个类似格式的输出)。
我试图将这一切都保留在本机 js 中,但如果有一个 jQuery 简单的方法,那么我很容易导致懒惰。不用担心旧浏览器,我不在乎,这个项目最终使用了 d3.js,它无论如何都不能在旧浏览器上运行。
有什么建议么?在这种情况下,深度不会低于此处的深度,因此至少是已知的。但是,我不能把它弄平,我需要知道主机在这之后有哪些父母。
我在这里看到了一些 python-js 链接,但没有在列表中看到任意未知大小的列表。