You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dynamics 365 API中Liquid处理Word复制列表项异常问题排查

问题解决:Dynamics 365 Liquid处理Word复制内容的JSON格式异常

核心问题分析

从Word复制到Dataverse文本字段的内容,包含原生制表符(十六进制0x09)、智能引号、特殊项目符号,之前的Liquid处理存在两个关键问题:

  1. 用	匹配制表符无效——字段里存的是原生制表符字符,不是HTML实体	
  2. 手动转义引号+使用escape过滤器错误——escape是HTML转义,不是JSON转义,会导致JSON结构被未转义的双引号破坏

解决方案

1. 正确处理制表符

在Liquid中直接用\t匹配原生制表符,替换成你需要的内容(比如&nbsp;或<br>)

2. 用JSON专用过滤器替代手动转义

放弃手动替换&quot;,改用Liquid的json过滤器,它会自动处理所有JSON需要转义的字符(双引号、换行、制表符等),比手动替换更可靠

3. 完善项目符号处理

Word复制的项目符号可能有多种(比如•、◦、▪),可以多添加几个replace覆盖常见类型

修改后的Liquid代码片段

重点修改nxn_edmspeakerabout和msevtmgt_description字段的处理逻辑:

{ "Entity" : 
  [
    {% for result in my_query.results.entities %}
      {
        "msevtmgt_name" : "{{ result['msevtmgt_name'] | json }}",
        "ceda_speakerrole" : "{{ result['ceda_speakerrole'].value | json }}",
        "ceda_speakerrole_label" : "{{ result.ceda_speakerrole.label | json }}",
        "msevtmgt_eventid" : "{{ result['msevtmgt_event'].id | json }}",
        "msevtmgt_event_label" : "{{ result['msevtmgt_event'].name | json }}",
        "msevtmgt_speakerid" : "{{ result['msevtmgt_speaker'].id | json }}",
        "msevtmgt_speaker_label" : "{{ result['msevtmgt_speaker'].name | json }}",
        "nxn_edmspeakerabout" : "{{ result['nxn_edmspeakerabout'] 
            | replace: "•", "&minus;" 
            | replace: "◦", "&minus;"
            | replace: "▪", "&minus;"
            | replace: "\n", "<br>" 
            | replace: "\t", "&nbsp;" 
            | json }}",
        "nxn_edmspeakercompany" : "{{ result['nxn_edmspeakercompany'] | json }}",
        "nxn_edmspeakerposition" : "{{ result['nxn_edmspeakerposition'] | json }}",
        "msevtmgt_description" : "{{ result['msevtmgt_description'] 
            | replace: "\n", "<br>" 
            | json }}",
        "nxn_edmimageurl" : "{{ result['nxn_edmimageurl'] | json }}",
        "ceda_order" : "{{ result['ceda_order'] | json }}"
      }

      {% unless forloop.last %},{% endunless %}

    {% endfor %}
  ] 
}

关键修改说明

  • 所有字段统一用json过滤器收尾,确保JSON格式完全合规
  • 用\t替换原生制表符,解决之前匹配不到的问题
  • 新增多种项目符号的替换,覆盖Word常见的列表符号
  • 去掉手动的&quot;替换,交给json过滤器自动处理

内容的提问来源于stack exchange,提问作者BlissSol

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 03:33:25