Мне нужно написать REST API в Node jS для преобразования 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 находится в кавычках, а значение без кавычек.
Найдите код API NodeJS.
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 для приема кавычек по значению.
Признательны, если вы предложите какую-либо другую библиотеку или вариант.
Этот API-интерфейс Node JS вызывается из веб-API ASP.NET Core. Веб-API ASP.NET Core получает данные и карту из базы данных и передает их как один JSON в Node JS API.
Пожалуйста, предложите решение этой проблемы или лучшую альтернативу.
Спасибо
Радж