将返回对象转换为json但仅转换为某些值对

时间:2018-03-20 23:21:56

标签: javascript json object

是的我知道有很多关于将对象转换为json的帖子,但我的问题更具体......

假设我从api调用一些数据,响应是一个看起来像这样的对象

{
    date: ...,
    value: ...,
    useless-info: ...,
    useless-info: ...
}

现在我知道我可以这样做JSON.stringify(returnedobject);

所以我得到了新成立的json ..

{
   "date": ...,
   "value": ...,
   "useless-info": ...,
   "useless-info": ...
}

现在我想在我新创建的json中成为"date""value"并删除useless-info这是否可能?

任何帮助将不胜感激!

4 个答案:

答案 0 :(得分:2)

工作演示



var jsonObj = {
   "date": "",
   "value": "",
   "useless-info": "",
   "useless-info": ""
};

delete jsonObj["useless-info"];

var jsonString = JSON.stringify(jsonObj);

console.log(jsonString);




答案 1 :(得分:2)

JSON.stringify()有一个replacer param,可用于将output限制为whitelisted array keys你想留下来。

// Input.
const input = {
  date: new Date(),
  value: 8905934,
  useless: 'useless',
  extra: 'extra'
}

// Output.
const output = JSON.stringify(input, ['date', 'value'])

// Proof.
console.log(output)

答案 2 :(得分:1)

const oldJson = {
   "date": ...,
   "value": ...,
   "useless-info": ...,
   "useless-info": ...
}

const newJson = {
   "date" : oldJson.date,
   "value": oldJson.value 
}

答案 3 :(得分:0)

您可以使用所需数据创建新对象,也可以删除不需要的字段:

const someReturn = {
  date: ...,
  value: ...,
  badstuff: ...
}

const goodObj = {
  date: someReturn.date,
  value: someReturn.value
}

或者要删除字段,您只需拨打delete someReturn.badstuff

即可