javascript - 从对象中删除和修改键
问题描述
我有以下对象
{
"tenant": "bclient",
"name": "somename",
"published_at": "2010-01-01T12:00:00.000Z",
"payload": {
"id": "04d02325-f4ea-4a7b-bfeb-2ff74a0e1a0d",
"external_id": "849849889",
"created_at": "2018-07-06T11:56:34.712Z",
"placed_at": "2018-07-06T12:06:25.989Z",
"associate_id": "121edewcsecsdc",
"associate_email": "abc@example.com",
"channel_type": "web",
"channel": "webshop-123",
"is_exchange": false,
"customer_email": "johndoe@example.com",
"customer_id": "84ca4scac9aca98s",
"external_customer_id": "CUST123423",
"is_historical": true,
}
}
我想删除 is_exchange 并将 created_at 的值替换为“2021-03-23”并取回对象的 json 表示
我试过了
var data= JSON.parse(myjsonobj)
delete data['payload']['external_id'];
这是有效的,但是
data.payload.created_at = '2021-03-23'
不管用
const myjsonobj = `{
"tenant": "bclient",
"name": "somename",
"published_at": "2010-01-01T12:00:00.000Z",
"payload": {
"id": "04d02325-f4ea-4a7b-bfeb-2ff74a0e1a0d",
"external_id": "849849889",
"created_at": "2018-07-06T11:56:34.712Z",
"placed_at": "2018-07-06T12:06:25.989Z",
"associate_id": "121edewcsecsdc",
"associate_email": "abc@example.com",
"channel_type": "web",
"channel": "webshop-123",
"is_exchange": false,
"customer_email": "johndoe@example.com",
"customer_id": "84ca4scac9aca98s",
"external_customer_id": "CUST123423",
"is_historical": true
}
}`
var data = JSON.parse(myjsonobj)
delete data['payload']['external_id'];
data.payload.created_at = '2021-03-23'
console.log(data)
解决方案
要从对象中删除值,请使用该delete
方法。所以,你可以这样做delete obj.payload.is_exchange
。要更改值,只需使用=
运算符。obj.payload.created_at = "2021-03-23"
.
推荐阅读
- stm32 - 可以在单个 uController 上同时使用 LoRa 进行发送和接收吗?
- amazon-cognito - 当用户可以在多个租户中时,使用公共用户池进行多租户
- python-3.x - ModuleNotFoundError: 没有名为“copy_reg\r”的模块
- database - 触发冲突 PL/SQL
- python - QtWidgets.QApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling, True) 在 python 上根本不起作用
- java - Java - intelliJ - 在关闭“}”之后生成带有额外行的测试文件?
- css - 将 id 或类添加到 wordpress 单选按钮的标签元素
- python - 如何返回字典列表中字符串最长的对象?(Python)
- java - IntelliJ 创建的 jar 文件在没有 jdk 的计算机上不起作用
- haskell - 安装 GHCi 需要更改我在终端中使用的路径