Javascript 在NodeJS项目中使用Jsonata模块
我试过健身器。看起来很酷 但是我必须在我的代码(NodeJS)中实现它 比方说 输入为:Javascript 在NodeJS项目中使用Jsonata模块,javascript,Javascript,我试过健身器。看起来很酷 但是我必须在我的代码(NodeJS)中实现它 比方说 输入为: { “id”:“课程号1”, “说明”:“示例课程说明”, “内容类型”:“课程”, “类别”:“课程”, “持续时间秒”:500, “专家级”:[“中级”], “imageUrl”:https://percipio.com/courseuuid1/imagelink", “链接”:https://percipio.com/courseuuid1", “方式”:[“听”、“读”、“看”], “语言代码”:“
{
“id”:“课程号1”,
“说明”:“示例课程说明”,
“内容类型”:“课程”,
“类别”:“课程”,
“持续时间秒”:500,
“专家级”:[“中级”],
“imageUrl”:https://percipio.com/courseuuid1/imagelink",
“链接”:https://percipio.com/courseuuid1",
“方式”:[“听”、“读”、“看”],
“语言代码”:“en”,
“父项”:空,
“发布日期”:“2018-11-19T10:23:34Z”,
“sourceName”:空,
“technologyTitle”:空,
“技术版本”:空,
“标题”:“Java”,
“收件人”:[“管理员”]
}
转换逻辑是:
{
“pkID”:id,
“描述”:描述,
“componentTypeID”:contentType,
“总长度”:持续时间秒,
“thumbnailURI”:图像URL,
“locale”:语言代码,
“createTimestamp”:publishDate,
“头衔”:头衔,
“lastUpdateUser”:由
}
我希望输出为转换逻辑格式,但通过NODEJS代码
请建议我想这就是你想要的:
var inputJson={
"id": "course_uuid1",
"description": "Sample course description",
"contentType": "COURSE",
"category": "Course",
"durationInSeconds": 500,
"expertiseLevels": ["INTERMEDIATE"],
"imageUrl": "https://percipio.com/courseuuid1/imagelink",
"link": "https://percipio.com/courseuuid1",
"modalities": ["LISTEN", "READ", "WATCH"],
"languageCode": "en",
"parent": null,
"publishDate": "2018-11-19T10:23:34Z",
"sourceName": null,
"technologyTitle": null,
"technologyVersion": null,
"title": "Java",
"by": ["admin"]
};
var outputJson={
"pkID": inputJson.id,
"description": inputJson.description,
"componentTypeID": inputJson.contentType,
"totalLength": inputJson.durationInSeconds,
"thumbnailURI": inputJson.imageUrl,
"locale": inputJson.languageCode,
"createTimestamp": inputJson.publishDate,
"title": inputJson.title,
"lastUpdateUser": inputJson.by
}
安装jsonata节点模块并尝试以下代码:
var jsonata = require('jsonata');
let input=
{
"id": "course_uuid1",
"description": "Sample course description",
"contentType": "COURSE",
"category": "Course",
"durationInSeconds": 500,
"expertiseLevels": ["INTERMEDIATE"],
"imageUrl": "https://percipio.com/courseuuid1/imagelink",
"link": "https://percipio.com/courseuuid1",
"modalities": ["LISTEN", "READ", "WATCH"],
"languageCode": "en",
"parent": null,
"publishDate": "2018-11-19T10:23:34Z",
"sourceName": null,
"technologyTitle": null,
"technologyVersion": null,
"title": "Java",
"by": ["admin"]
}
let exp="{'pkID': id,'description': description,'componentTypeID': contentType,'totalLength': durationInSeconds,'thumbnailURI': imageUrl,'locale': languageCode,'createTimestamp': publishDate,'title': title,'lastUpdateUser': by}";
let expression = jsonata(exp);
let expResult = expression.evaluate(input);
console.log(expResult);
你的问题是什么?你试过什么?这似乎是简单的对象映射还有一件事,我想在unix时间戳中转换publishDate(输入)。如何通过这段代码实现相同的转换。@Nimmo您可以转换日期并在表达式中使用它。下面的链接可以帮助您将日期转换为UNIX时间戳