gpt4 book ai didi

javascript - 使用 JAVASCRIPT 删除不需要的 JSON 数据

转载 作者:行者123 更新时间:2023-12-03 03:35:10 25 4
gpt4 key购买 nike

我是 JSON 和 Javascript 新手,必须在 Cloudant NoSQL 中创建一个表。因此,我从一家天气公司收集了 JSON 格式的天气数据并将其发送到 Cloudant,但 JSON 中有一些数据与我想要创建的表不相关。有没有办法从我使用 javascript 收到的 JSON 数据中删除元数据和列名“observation”?

我有 JSON 数据:

{
"metadata": {
"language": "en-US",
"transaction_id": "1503766402801:1454518918",
"version": "1",
"latitude": 12.83,
"longitude": 77.68,
"expire_time_gmt": 1503771300,
"status_code": 200
},
"observation": {
"key": "43295",
"class": "observation",
"expire_time_gmt": 1503771300,
"obs_id": "43295",
"obs_name": "Bangalore",
"valid_time_gmt": 1503759600,
"day_ind": "N",
"temp": 75,
"wx_icon": 29
}
}

我想要的 JSON 数据

{
"_id": "2e5e0da1f82157dd6f5d381a4c9ff84e",
"_rev": "1-b7a92ae5f96b051f0add3b26a14543c2",
"key": "43295",
"class": "observation",
"expire_time_gmt": 1503771300,
"obs_id": "43295",
"obs_name": "Bangalore",
"valid_time_gmt": 1503759600,
"day_ind": "N",
"temp": 75,
"wx_icon": 29
}

谢谢。

编辑我可以使用“delete data.metadata;”删除元数据,其中数据包含 JSON,但我仍然无法删除“观察”一词和最后的大括号。

最佳答案

假设您的 JSON 已解析,您只需将所有嵌套对象中的所有键分配给一个新对象即可。

var myData = {
"metadata": {
"language": "en-US",
"transaction_id": "1503766402801:1454518918",
"version": "1",
"latitude": 12.83,
"longitude": 77.68,
"expire_time_gmt": 1503771300,
"status_code": 200
},
"observation": {
"key": "43295",
"class": "observation",
"expire_time_gmt": 1503771300,
"obs_id": "43295",
"obs_name": "Bangalore",
"valid_time_gmt": 1503759600,
"day_ind": "N",
"temp": 75,
"wx_icon": 29
}
}

myData = Object.keys(myData)
.reduce((res, key) => Object.assign(res, myData[key]), {});

console.log(myData);

您的结果中有一些额外的键。不确定这些来自哪里。

如果有一些额外的属性需要删除,您可以使用delete来删除它们。

["latitude", "longitude"].forEach(k => delete myData[k]);
<小时/>

或许我理解错了。我以为你想要合并。如果您只想要观察对象,则只需将其分配给原始变量即可。

myData = myData.observation;

并添加您想要的任何其他属性。

关于javascript - 使用 JAVASCRIPT 删除不需要的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45897810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com