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

如何使用Python将字典转换为属性名无引号的JavaScript对象

Python实现字典转无引号键名JS对象格式

完全可以通过Python实现该转换,你需要的输出是JavaScript对象字面量格式,和标准JSON的核心差异就是合法的属性名不需要用双引号包裹,以下是可直接复用的实现方案:

基础实现(适配你给出的示例场景)

针对键均为合法标识符、值为基础类型的扁平字典,可以直接通过字符串拼接生成目标格式:

def convert_to_js_literal(input_dict):
    kv_pairs = []
    for key, val in input_dict.items():
        # 处理不同类型的值,和JS语法对齐
        if isinstance(val, str):
            val_formatted = f'"{val}"'
        elif isinstance(val, bool):
            val_formatted = "true" if val else "false"
        elif val is None:
            val_formatted = "null"
        else:
            val_formatted = str(val)
        kv_pairs.append(f" {key}: {val_formatted}")
    return "{\n" + ",\n".join(kv_pairs) + "\n}"

# 测试你的示例字典
demo_dict = {
    "name": "Paul",
    "age": "20",
    "gender": "male"
}
print(convert_to_js_literal(demo_dict))

运行上述代码的输出完全匹配你需要的格式:

{
 name: "Paul",
 age: "20",
 gender: "male"
}

扩展适配说明

  • 如果待转换的字典存在嵌套结构(值为字典、列表),只需要在函数中增加递归判断:值为字典时递归调用转换函数,值为列表时遍历处理每个元素后包裹[]即可。
  • 如果键名包含空格、连字符、JS保留字等不符合标识符命名规则的内容,需要自动给对应键名包裹双引号,避免生成的JS代码出现语法错误。

内容的提问来源于stack exchange,提问作者João Pedro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 12:33:29