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

Extract nested element value from JSON object using JMESPath

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

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

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

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

为什么这不起作用?

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

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