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

Python中两个相似字符串为何一个被识别为合法JSON数组一个报错?

问题根因
  • 你对已经是JSON格式字符串的trial执行了二次json.dumps(),导致字符串内部的双引号被额外转义。pd.Series.to_json输出的本身就是合法JSON字符串,再套一层json.dumps()会把这个字符串整体当作JSON字符串值处理,自动加外层双引号、转义内部所有双引号。
  • 手动拼接字符串时额外多加了末尾的双引号,进一步破坏了JSON结构。
  • 打印显示一致是因为print(str(变量))会自动处理转义符为可读形式,看不到原始转义内容,你可以执行print(repr(payload_test))和print(repr(my_string))对比,立刻就能看到两者的实际内容差异。
正确实现方式

不要手动拼接字符串构造JSON,直接通过字典列表序列化即可,完全避免转义和结构错误:

import pandas as pd
import json

df = pd.read_csv('xyz.csv')
# 直接将目标列转为字典列表
payload_list = df[['id', 'channel_id', 'entity_type', 'entity_id', 'file_name']].to_dict('records')
# 序列化得到合法JSON数组字符串,separators参数控制分隔符后加空格和你示例格式一致
my_payload = json.dumps(payload_list, separators=(', ', ': '))
# 直接传入请求即可
update_template(my_payload, headers)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:00:01