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

如何在Locust/Python脚本中移除JSON数组内拼接字符串的引号

解决方法

核心思路是直接保留数字类型的TS_ID列表,而非拼接成字符串,具体修改步骤如下:

1. 修改_get_ts_ids函数,返回数字列表而非拼接字符串

原来的函数可能把选中的TS_ID拼接成了字符串,现在改成读取时转换为整数,直接返回随机选中的数字列表:

def _get_ts_ids(self):
    import csv
    import random
    with open("ts_ids.csv", "r") as f:
        reader = csv.reader(f)
        next(reader)  # 跳过CSV表头(如果有的话)
        # 将CSV中的TS_ID字符串转为整数,存入列表
        ts_ids = [int(row[0]) for row in reader]
    # 随机选取10个数字元素,直接返回列表
    return random.sample(ts_ids, 10)

2. 构造JSON时直接使用该列表

原来的代码可能是把拼接后的字符串放到数组里,现在直接将函数返回的数字列表赋值给tsIds字段:

# 构造请求的JSON数据
request_json = {
    "tsIds": self._get_ts_ids()
}

关键说明

  • 读取CSV时转换为int:确保TS_ID是数字类型,避免JSON序列化后带引号
  • 不要用join拼接:直接保留列表结构,这样JSON里的tsIds就是多个数字元素组成的数组,而非包含拼接字符串的单元素数组
  • 如果TS_ID可能存在非数字格式,可以添加异常处理跳过无效数据:
    ts_ids = []
    for row in reader:
        try:
            ts_ids.append(int(row[0]))
        except ValueError:
            # 跳过无效的非数字TS_ID
            continue
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 15:33:13