使用JMESPath从JSON对象提取嵌套元素值

时间:2018-08-06 20:52:48

标签: javascript json jmespath

我正在尝试使用JMESPath从JSON文档中提取和转换元素。这是我的测试JSON数组:

const search = jmespath.search;
const testData =
{
"ServiceAccount": [
    {
        "Type": "WIDGET",
        "ID": [
            {
                "OrderNum": "12345",
                "OrderTyp": "ABDCD"
            }
        ]
      }
    ]
};

我正在尝试使用以下JMESPath表达式提取OrderNum键的值,但它返回null。这是我的搜索表达式:

const result = search(testData, 'ServiceAccount.ID.OrderNum');
console.log(result);

为什么这不起作用?

1 个答案:

答案 0 :(得分:1)

const testData =
{
"ServiceAccount": [
    {
        "Type": "WIDGET",
        "ID": [
            {
                "OrderNum": "12345",
                "OrderTyp": "ABDCD"
            }
        ]
      }
    ]
};

const result = jmespath.search(testData, 'ServiceAccount[].ID[].OrderNum');
console.log(result);