求助:无法为Adaptive Card中的文本添加条件着色
问题解决:Adaptive Card JSON语法错误(BadSyntax)
你的Adaptive Card JSON解析失败的核心原因是color字段中的表达式破坏了JSON结构:
原代码里color字段的表达式用单引号包裹字符串值,且未正确处理JSON字符串内部的引号转义:
{ "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.3", "body": [ { "type": "TextBlock", "size": "Medium", "weight": "Bolder", "text": "${title}", "color": "${if(10 >= 0, 'good', 'attention')}" } ] }
修复步骤
- Adaptive Cards表达式语法要求字符串字面量使用双引号;
- 由于
color的值是JSON字符串(外层用双引号包裹),内部的双引号必须添加转义符\,否则JSON解析器会误判字符串结束位置。
修复后的JSON代码:
{ "type": "AdaptiveCard", "$schema": "http://adaptivecards.io/schemas/adaptive-card.json", "version": "1.3", "body": [ { "type": "TextBlock", "size": "Medium", "weight": "Bolder", "text": "${title}", "color": "${if(10 >= 0, \"good\", \"attention\")}" } ] }
修改后JSON结构合法,Adaptive Cards表达式引擎可正确解析条件逻辑,根据判断结果为文本设置对应颜色。
内容的提问来源于stack exchange,提问作者GMAC
相关产品推荐
相关产品推荐

