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

在JavaScript(jQuery)中移除JSON对象指定键的问题求助

移除JSON对象指定键的问题修复

你的代码核心错误在于:把JavaScript对象转成JSON字符串后,试图用delete操作符删除字符串里的键——delete只能操作对象的属性,而JSON.stringify返回的是字符串类型,根本不支持这种操作。

正确写法:直接操作JavaScript对象

如果你的数据源本身是JS对象(就像代码里定义的那样),直接在对象上删除属性即可,不需要先转成JSON字符串:

function test() {
  var obj = {
    "ID": "2196",
    "VERSION": "1-2022",
    "FILE": "2196.docx"
  };
  console.log("原始对象: ", obj);

  delete obj['FILE']; // 直接删除对象的FILE属性
  console.log("删除后的对象: ", obj);

  // 如果最终需要JSON字符串,最后再转换
  var jsonStr = JSON.stringify(obj);
  console.log("最终JSON字符串: ", jsonStr);
}

test();

若需处理JSON字符串的场景

如果你的数据源是JSON字符串(比如从后端接口获取的响应),要先把它转成JS对象,删除属性后再转回字符串:

function test() {
  // 模拟从后端拿到的JSON字符串
  var jsonStr = '{"ID": "2196","VERSION": "1-2022","FILE": "2196.docx"}';
  console.log("原始JSON字符串: ", jsonStr);

  // 转成JS对象
  var obj = JSON.parse(jsonStr);
  // 删除目标属性
  delete obj.FILE; // 等价于 obj['FILE']
  // 转回JSON字符串
  jsonStr = JSON.stringify(obj);
  console.log("处理后的JSON字符串: ", jsonStr);
}

test();

额外提示

如果不想修改原对象(避免副作用),可以先拷贝一个新对象再删除属性:

// 浅拷贝,适用于无嵌套的简单对象
var newObj = {...obj};
delete newObj.FILE;

// 或者用Object.assign
var newObj = Object.assign({}, obj);
delete newObj.FILE;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 22:25:30