在Node.JS中使用JSONata处理JSON文件返回undefined。为什么会发生这种情况?
我试过了,但它返回“未定义”
索引.js
const jsonata = require("jsonata");
const fs = require("fs");
(async () => {
const json = fs.readFileSync("test.json", {encoding:'utf8', flag:'r'});
const expression = jsonata('V1.fields');
const result = await expression.evaluate(json);
console.log(result);
})()
测试.json
[
12345,
{
"V1": {
"fields": {
"id": 0
}
}
}
]
输出
% node index.js
undefined
1条答案
按热度按时间3qpi33ja1#
尽管名字叫jsonata,但它并不计算JSON,而是计算对象。在将读取的JSON传递给jsonata之前,需要解析它。
您可以显式地执行此操作:
但老实说,更简单的方法是
require
它,让Node.js做“繁重”的工作: