我需要在 Node js 中编写 REST API 以进行 JSON 到 JSON 的转换。
有很多图书馆,我排序列出“JSONata”
请在此处找到 JSONata 简单示例
挑战是 API 接收具有数据和地图的 JSON,但 JSONata 需要不带引号的地图值。
{
"data" : {
"title" : "title1",
"description": "description1",
"blog": "This is a blog.",
"date": "11/4/2013"
},
"map" : {
"name": "title",
"info": "description",
"data" : {
"text": "blog",
"date": "date"
}
}
}
但 JSONata 预期的地图对象如下所示。
{
"name": title,
"info": description,
"some" : {
"text": blog,
"date": date
}
}
上面的 JSON 键在引号和没有引号的值中。
请找到 NodeJS API 代码。
app.post('/JSONTransform', function(req, res, next)
{
const data = req.body.data;
const map = req.body.map;
var expression = jsonata(map);
var result = expression.evaluate(data);
res.send(result);
});
我可以编写简单的函数来删除引号,但上面的地图是简单的例子。它可以是任何子对象,并且可能在值中包含一些特殊字符,包括引号。
我更喜欢一些 npm 库或标准方法来删除引号或配置 JSONata 以接受值中的引号。
如果您建议任何其他库或选项,请不胜感激。
此 Node JS API 是从 ASP.NET Core Web API 调用的。ASP.NET Core Web API 从数据库中获取数据和映射,并将其作为单个 JSON 传递给 Node JS API。
请建议解决此问题或最佳替代方案。
谢谢
拉吉