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

Python中能否使用@符号作为JSON键?代码报错咨询

关于在Python中将@用作JSON键的问题解决办法

嘿,这个问题我来帮你搞定~你遇到的语法错误,核心原因是Python里的关键字参数不能以@开头——@是Python里装饰器的专用语法符号,直接写@test=test这种形式,解析器根本认不出这是合法的参数名,自然会报错。

不过别担心,JSON本身是支持用@作为键的,问题只出在你创建Python字典的方式上。这里给你两种可行的解决办法:

方法1:直接使用字典字面量(最推荐)

直接把键写成字符串形式的字典字面量,这样完全避开关键字参数的语法限制:

import json

my_dict = {"@test": "test"}
print(json.dumps(my_dict))  # 输出:{"@test":"test"}

方法2:用dict()构造函数的替代写法

如果你一定要用dict()来创建字典,可以传入包含键值对的列表,或者解包一个预定义的字典:

import json

# 传入键值对列表
my_dict1 = dict([("@test", "test")])
print(json.dumps(my_dict1))

# 解包字典
my_temp_dict = {"@test": "test"}
my_dict2 = dict(**my_temp_dict)
print(json.dumps(my_dict2))

这两种写法都能得到你想要的JSON输出。

总结一下:JSON对键的字符限制很宽松,但Python的语法规则不允许关键字参数以@开头,所以只要换一种创建字典的方式,就能顺利生成带@键的JSON啦~

内容的提问来源于stack exchange,提问作者blue-sky

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:56:19