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

Python循环中动态替换Payload字符串内经纬度变量的问题

解决Payload中动态替换经纬度的问题

方法一:正确使用f-string

原f-string失效的核心原因是没正确转义JSON结构里的大括号(f-string会把单个{}识别为变量占位符),加上原字符串的双引号转义增加了复杂度。可以改用单引号包裹整个字符串,内部双引号无需转义,同时把JSON自身的大括号用{{}}转义,再插入变量:

# 定义需要替换的经纬度变量
target_lat = 41.86464600000019
target_lon = -87.80732699999984

# 正确编写f-string
payload = f'{{"showPrice":"DISCOUNT","searchRange":80.467,"points":[{{"latitude":{target_lat},"longitude":{target_lon}}}],"cardNumber":"blablabla","_mt926720371":"3796524828557652229"}}'

方法二:用字典+JSON序列化(更推荐)

直接拼接JSON字符串容易出错,尤其在循环中频繁修改时,更稳妥的方式是先构建Python字典,再序列化为JSON字符串:

import json

# 循环中可动态修改的经纬度
target_lat = 41.86464600000019
target_lon = -87.80732699999984

# 构建Payload的字典结构
payload_data = {
    "showPrice": "DISCOUNT",
    "searchRange": 80.467,
    "points": [{"latitude": target_lat, "longitude": target_lon}],
    "cardNumber": "blablabla",
    "_mt926720371": "3796524828557652229"
}

# 序列化为JSON字符串
payload = json.dumps(payload_data)

循环中修改时,只需更新target_lat和target_lon的值,重新执行json.dumps()即可,无需处理字符串转义问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 09:50:24