使用Axios和NodeJS Express解析JSON数据(与猫鼬匹配模式)

时间:2018-06-19 13:22:59

标签: json node.js mongoose schema axios

我正在尝试从API解析JSON,并且由于它具有一个随机命名的属性,该属性的值是一个对象(该对象具有我需要的数据),因此我很难从中获取数据以与模式。 这是缩短的API响应,只是为了显示我遇到的问题。

{
    "data": {
        "1": {
            "id": 1, 
            "name": "First Name",
            "quotes": {
                "USD": {
                    "price": 100
                }
            }
        }, 
        "1027": {
            "id": 1027, 
            "name": "Second Name",
            "quotes": {
                "USD": {
                    "price": 200
                }
            }
        }
    }
} 

以及简化的模式:

var coin = new Mongoose.Schema({
    id: Number,
    name: String,
    quotes: {
        USD: {
            price: Number
        }
    }
});

所以问题是,如何在不显式命名的情况下获取“ 1”的对象和“ 1027”的对象。而且我的架构语法对有关对象是否正确?

谢谢!

1 个答案:

答案 0 :(得分:0)

您始终可以使用for...in循环来检查此数据是否正是您想要的

const response = {
  "data": {
    "1": {
      "id": 1,
      "name": "First Name",
      "quotes": {
        "USD": {
          "price": 100
        }
      }
    },
    "1027": {
      "id": 1027,
      "name": "Second Name",
      "quotes": {
        "USD": {
          "price": 200
        }
      }
    }
  }
}

for (let key in response.data) {
  if (key === '1') {
    console.log('Hey, I find it')
  }
  console.log(key)
}