0

我正在研究一个嵌入式系统,我对整个过程的理论遵循以下方法: 1. 向后端发送一条命令,要求提供 JSON 格式的帐户信息。2. 后端写入一个包含所有账户和相关信息的 JSON 文件(可能有 0 到 16 个账户)。3. 这是我卡住的地方 - 使用 JavaScript(我们正在使用 JQuery 库)遍历返回的特定元素的信息(类似于 XPath),并根据找到的填充下拉列表的元素数量构建一个数组框以选择您要查看的帐户,然后对帐户信息进行处理。所以我的代码如下所示:

loadAccounts = function() 
{
   $.getJSON('/info?q=voip.accounts[]', function(result) 
   {
            var sipAcnts = $("#sipacnts");
            $(sipAcnts).empty(); // empty the dropdown (if necessarry)
            // Get the 'label' element and stick it in an array
// build the array and append it to the sipAcnts dropdown
// use array index to ref the accounts info and do stuff with it
}

所以我需要的是 JSON 版本的 XPath 来构建 voip.accounts.label 的数组。第一个帐户信息如下所示:

{
    "result_set": {
          "voip.accounts[0]": {
                     "label": "Dispatch1",
                     "enabled": true,
                     "user": "1234",
                     "name": "Jane Doe",
                     "type": "sip",
                     "sip": {
                            "lots and lots of stuff":
                            },
                     }
                  }
} 

我是不是把问题复杂化了?任何人都可以抛弃的任何智慧将不胜感激。

4

1 回答 1

1

有几种选择。一种是使用这家伙创建的JsonPath。它打算成为 JSON 的 XPath。我不知道它的效果如何。它当然不是标准化的。虽然它不是很多代码,所以它应该很容易理解和适应。另一种是使用JPath。这两个都是从json.org链接的。我不怀疑还有更多这样的实现。

另一种选择是将 JSON 转换为 javascript 对象,并内省地搜索对象属性,直到找到所需的内容。您可以使用例如 Douglas Crockford 的JSON parser

于 2012-05-30T16:38:40.053 回答