Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JAVASCRIPT删除不需要的JSON数据_Javascript_Json_Cloudant_Nosql - Fatal编程技术网

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

使用JAVASCRIPT删除不需要的JSON数据,javascript,json,cloudant,nosql,Javascript,Json,Cloudant,Nosql,我不熟悉JSON和Javascript,不得不在CloudAntNoSQL中创建一个表。 因此,我从一家气象公司收集了JSON格式的天气数据,并将其发送给Cloudant,但JSON中有一些数据与我想要创建的表无关。 有没有办法从我使用javascript收到的JSON数据中删除元数据和列名“observation” 我拥有的JSON数据: { "metadata": { "language": "en-US", "transaction_id": "150376640280

我不熟悉JSON和Javascript,不得不在CloudAntNoSQL中创建一个表。 因此,我从一家气象公司收集了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,但最后我仍然无法删除“observation”单词和大括号。

假设您的JSON被解析,您可以将所有嵌套对象中的所有键分配给一个新对象

var myData={
“元数据”:{
“语言”:“en US”,
“交易id”:“1503766402801:1454518918”,
“版本”:“1”,
“纬度”:12.83,
“经度”:77.68,
“到期时间”gmt:1503771300,
“状态代码”:200
},
“观察”:{
“密钥”:“43295”,
“课堂”:“观察”,
“到期时间”gmt:1503771300,
“obs_id”:“43295”,
“obs_名称”:“班加罗尔”,
“有效时间”gmt:1503759600,
“day_ind”:“N”,
“临时”:75,
“wx_图标”:29
}
}
myData=Object.keys(myData)
.reduce((res,key)=>Object.assign(res,myData[key]),{});

console.log(myData)您可以在发送之前创建一个新的json对象。使用lodash应该是扩展应用程序的一个简单解决方案

// Assume result has your json data
var wantedJson = _.extend({}, result.observation, result.metadata);

如果您不担心元素的顺序,这是最简单的方法:

var结果={
“元数据”:{
“语言”:“en US”,
“交易id”:“1503766402801:1454518918”,
“版本”:“1”,
“纬度”:12.83,
“经度”:77.68,
“到期时间”gmt:1503771300,
“状态代码”:200
},
“观察”:{
“密钥”:“43295”,
“课堂”:“观察”,
“到期时间”gmt:1503771300,
“obs_id”:“43295”,
“obs_名称”:“班加罗尔”,
“有效时间”gmt:1503759600,
“day_ind”:“N”,
“临时”:75,
“wx_图标”:29
}
}
var myjson=result.observation;
myjson.\u id=“2E5E0DA1F8257DD6F5D381A4C9FF84E”,
myjson._rev=“1-b7a92ae5f96b051f0add3b26a14543c2”;

log(myjson)
尝试使用delete操作符我使用delete操作符删除元数据,但我仍然无法删除其他单词。好的,那么你想要观察对象的数据,在对象的根中?是的@RaghavGargThank。我一整天都在为这件事伤心。创造了奇迹。@JavaforAndroid:哦,等等,你只想拥有
观测属性?然后就是
myData=myData.observation
,添加您需要的任何额外键。