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

Behave REST API自动化示例表空值插入时JSON转义异常问题

问题原因

Behave在解析Examples表中的空白单元格时,会将空白内容默认封装为带双引号的空字符串字面量"",你当前的自定义解析函数直接返回原始匹配文本,因此序列化到JSON时会被转义为"\"\""。

修复方案

调整parse_nullable_string函数的处理逻辑,对匹配到的文本做清洗,移除外层包裹的双引号、修剪空白后返回即可,修改后的完整代码如下:

import parse
from behave import given, register_type

@parse.with_pattern(r'.*')
def parse_nullable_string(text):
    # 先修剪首尾空白,再移除外层包裹的双引号
    cleaned_text = text.strip()
    if cleaned_text.startswith('"') and cleaned_text.endswith('"'):
        cleaned_text = cleaned_text[1:-1]
    # 返回处理后的文本,空白单元格清洗后会得到纯空字符串
    return cleaned_text

register_type(NullableString=parse_nullable_string)

@given('params "{a:NullableString}" and "{b:NullableString}"')
def set_params(context, a, b):
    context.a = a
    context.b = b

验证逻辑

调整后Examples表中的空白单元格会被解析为纯空字符串"",序列化到JSON后与预期一致,非空值的解析逻辑不受影响,同时兼容手动在单元格填写""表示空值的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 14:36:02