如何使用 javascript SDK 验证自适应卡 json
how to validate adaptive card json using the javascript sdk
我正在自己生成一张自适应卡片 json,我想验证 json 是否根据自适应卡片架构编写得很好。我正在阅读 this docs,从那里我知道有一个 parse
函数。
我是这样用的:
import * as AdaptiveCards from 'adaptivecards';
...
try {
const adaptiveCard = new AdaptiveCards.AdaptiveCard();
adaptiveCard.parse(json);
} catch (e) {
console.log('Error', e);
}
这种方法似乎不起作用,因为只要它是 json.
,解析就会接受我传递给它的所有内容
我也试过这个:
const v = adaptiveCard.validateProperties();
但无论架构是否正确,响应始终相同。
我的意思是,不管我有没有这个:
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.3",
"body": [
]
}
或:
{
"schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.3",
"boy": [
{"catcher": true}
]
}
或者这个:
{
"schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.3",
"body": [
{
"type": "Container"
}
]
}
它总是returns相同,即使有未知属性,或者容器没有项目。
也许我做错了。
关于如何验证这个的任何提示?
验证卡片的最简单方法是尝试渲染它。有一个验证函数,但它并没有真正帮助,而且还没有完成。
试试这个:
var renderedCard = undefined;
try {
const adaptiveCard = new AdaptiveCards.AdaptiveCard();
adaptiveCard.parse(json);
renderedCard = adaptiveCard.render();
} catch (e) {
console.log('Error', e);
return false;
}
任何有效的卡都不会抛出异常,这并不意味着卡完全正常工作,但至少 json 代码肯定有效。
我正在自己生成一张自适应卡片 json,我想验证 json 是否根据自适应卡片架构编写得很好。我正在阅读 this docs,从那里我知道有一个 parse
函数。
我是这样用的:
import * as AdaptiveCards from 'adaptivecards';
...
try {
const adaptiveCard = new AdaptiveCards.AdaptiveCard();
adaptiveCard.parse(json);
} catch (e) {
console.log('Error', e);
}
这种方法似乎不起作用,因为只要它是 json.
,解析就会接受我传递给它的所有内容我也试过这个:
const v = adaptiveCard.validateProperties();
但无论架构是否正确,响应始终相同。
我的意思是,不管我有没有这个:
{
"$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.3",
"body": [
]
}
或:
{
"schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.3",
"boy": [
{"catcher": true}
]
}
或者这个:
{
"schema": "http://adaptivecards.io/schemas/adaptive-card.json",
"type": "AdaptiveCard",
"version": "1.3",
"body": [
{
"type": "Container"
}
]
}
它总是returns相同,即使有未知属性,或者容器没有项目。
也许我做错了。
关于如何验证这个的任何提示?
验证卡片的最简单方法是尝试渲染它。有一个验证函数,但它并没有真正帮助,而且还没有完成。
试试这个:
var renderedCard = undefined;
try {
const adaptiveCard = new AdaptiveCards.AdaptiveCard();
adaptiveCard.parse(json);
renderedCard = adaptiveCard.render();
} catch (e) {
console.log('Error', e);
return false;
}
任何有效的卡都不会抛出异常,这并不意味着卡完全正常工作,但至少 json 代码肯定有效。