根据键过滤json对象

时间:2017-02-27 05:45:14

标签: javascript json

我的json对象看起来像这样

Object
  A:Object
  B:Object
  C:Object
  D Object
  E:Object
  F:Object
  __proto__:Object

我想基于key从这个json对象中只获取D and E。新的json对象应该只包含D and E。如何实现这个目标?

4 个答案:

答案 0 :(得分:2)

试试这个:

function copyObjectProps(source, keys) {
   let newObject = {}
   keys.forEach(function(key) {
     newObject[key] = source[key]
   })
   return newObject
}

并使用它:

let filteredObject = copyObjectProps(yourObject, ['D', 'E'])

答案 1 :(得分:0)

Object['D']Object['E']可让您直接访问相应的对象。

您可以使用..

创建新对象
var newObj = { D : Object['D'], E : Object['E']}

使用原始对象名称代替Object进行访问。

使用JSON.stringify(newObj);可以获得新的JSON。

答案 2 :(得分:0)

过滤器仅适用于数组。因此,您需要定义一个新变量并运行for循环。

var mynewobject ={};
for (var key in myobject)
{
   if (...) // apply your condition here
      mynewobject[key] = myobject[key]
}

答案 3 :(得分:0)

使用下划线(http://underscorejs.org/)或loadash(https://lodash.com/)。

像_.pick这样的方法来挑选特定的节点。

还有更多选项。