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

能否移除JSON中键的双引号但不修改值的双引号?

需求实现结论

该需求可以实现,本质是将标准JSON格式转换为无键名双引号的JavaScript对象字面量格式。

注意:转换后的格式不符合标准JSON规范,仅可在支持无引号对象键的环境(如JavaScript/TypeScript代码)中使用,无法被通用JSON解析器识别。如果你的键名包含空格、短横线、中文等非合法标识符字符,不建议进行该转换,否则会引发语法错误。

实现代码示例

核心逻辑为:先将JSON字符串解析为对象,序列化后通过正则匹配替换掉合法标识符键的外层双引号。

  • JavaScript 实现:
const input = '{"start_time": {"_gte": "2021-10-10 19:00:00"}, "end_time": {"_gte": "2021-10-10 19:30:00"}}';
const obj = JSON.parse(input);
const result = JSON.stringify(obj).replace(/"([a-zA-Z_]\w*)":/g, '$1:');
console.log(result);
// 输出:{start_time: {_gte: "2021-10-10 19:00:00"}, end_time: {_gte: "2021-10-10 19:30:00"}}
  • Python 实现:
import json
import re

input_str = '{"start_time": {"_gte": "2021-10-10 19:00:00"}, "end_time": {"_gte": "2021-10-10 19:30:00"}}'
obj = json.loads(input_str)
json_str = json.dumps(obj)
result = re.sub(r'"([a-zA-Z_]\w*)":', r'\1:', json_str)
print(result)
# 输出:{start_time: {_gte: "2021-10-10 19:00:00"}, end_time: {_gte: "2021-10-10 19:30:00"}}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 01:00:05