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

如何使用XSLT从简单JSON响应中提取jwt字段的值

XSLT提取JSON中jwt字段的解决方案

方案1:XSLT 3.0版本(支持fn:parse-json函数)

如果调度器支持XSLT 3.0,可以直接使用内置JSON解析函数实现精确提取,样式表示例如下:

<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions">
    <!-- 设置输出为纯文本,无冗余XML标签 -->
    <xsl:output method="text" encoding="UTF-8" omit-xml-declaration="yes"/>

    <xsl:template match="/">
        <!-- 替换下方的$json_input为调度器中传入JSON响应内容的变量/节点路径 -->
        <xsl:variable name="json-doc" select="fn:parse-json($json_input)"/>
        <!-- 提取jwt字段值直接输出 -->
        <xsl:value-of select="$json-doc('jwt')"/>
    </xsl:template>
</xsl:stylesheet>

方案2:低版本XSLT兼容方案(1.0/2.0通用)

如果不确定XSLT版本,或者调用fn:parse-json报错,可以用字符串截取的方式实现。由于返回的JSON结构固定仅包含jwt字段,该方式兼容性最高:

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="text" encoding="UTF-8" omit-xml-declaration="yes"/>

    <xsl:template match="/">
        <!-- 替换下方的$json_input为调度器中传入JSON响应内容的变量/节点路径 -->
        <xsl:variable name="json_str" select="$json_input"/>
        <!-- 定位jwt值的起始位置:"jwt":" 之后的第一个字符 -->
        <xsl:variable name="start_pos" select="string-length(substring-before($json_str, '&quot;jwt&quot;:&quot;')) + 7"/>
        <!-- 提取从起始位置到后续第一个双引号之间的内容即为jwt值 -->
        <xsl:value-of select="substring-before(substring($json_str, $start_pos), '&quot;')"/>
    </xsl:template>
</xsl:stylesheet>

注意事项

  • 需要根据调度器的入参规则,将代码中的$json_input替换为实际接收JSON响应内容的变量或XPath路径
  • 两种方案默认都输出纯文本jwt值,无需额外处理即可直接供给后续任务使用
  • 如果调度器默认将响应内容作为根节点文本传入,直接把$json_input替换为.即可读取根节点的全部文本内容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 21:45:02