Node.js 从 json 创建模型对象
Node.js creating model objects from json
我知道任何 json 都可以很容易地解析为 javascript 对象,但是假设我正在使用 github API 来获取一个对象的配置文件几个开发人员,但我想向这个对象添加一些方法来处理这些开发人员的一些数据并将信息保存在对象中。
我知道 mongoose 是一个很好的扩展,它实现了模型的概念,可以做一些与我想要的类似的事情,但使用不同的方法,因为它使用数据库来检索模型数据。有没有办法使用从 API 返回的 json 填充模型数组?
也许我处理这个问题的方式不正确,但我没有看到解决这个问题的另一种方法。
感谢您的帮助
我不知道这是否是你要问的,但你可以解析 JSON:
getSomethingFromAPI().then(function(dataResponse){
var objectArray = JSON.parse(dataResponse)
})
如果不是,请 post 一些代码片段并澄清您的问题。
根据评论:我不认为您可以在不编写一些代码的情况下随意添加实例方法。它可以像进行解析一样简单,并将其映射到实例中(使用下划线):
var someMethod = function(){
return this.x
}
getSomethingFromAPI().then(function(dataResponse){
var objectArray = _.map(JSON.parse(dataResponse), function(anObject){
anObject.someMethod = someMethod.bind(anObject)
return anObject
})
})
在那里你也可以通过映射中的构造函数实例化对象,
getSomethingFromAPI().then(function(dataResponse){
var objectArray = _.map(JSON.parse(dataResponse), function(anObject){
return new SomeObjectConstructor(anObject.x, anObject.y)
})
})
或许还有更高级的技术。函数式方法会将数据和方法分开...
我知道任何 json 都可以很容易地解析为 javascript 对象,但是假设我正在使用 github API 来获取一个对象的配置文件几个开发人员,但我想向这个对象添加一些方法来处理这些开发人员的一些数据并将信息保存在对象中。
我知道 mongoose 是一个很好的扩展,它实现了模型的概念,可以做一些与我想要的类似的事情,但使用不同的方法,因为它使用数据库来检索模型数据。有没有办法使用从 API 返回的 json 填充模型数组?
也许我处理这个问题的方式不正确,但我没有看到解决这个问题的另一种方法。
感谢您的帮助
我不知道这是否是你要问的,但你可以解析 JSON:
getSomethingFromAPI().then(function(dataResponse){
var objectArray = JSON.parse(dataResponse)
})
如果不是,请 post 一些代码片段并澄清您的问题。
根据评论:我不认为您可以在不编写一些代码的情况下随意添加实例方法。它可以像进行解析一样简单,并将其映射到实例中(使用下划线):
var someMethod = function(){
return this.x
}
getSomethingFromAPI().then(function(dataResponse){
var objectArray = _.map(JSON.parse(dataResponse), function(anObject){
anObject.someMethod = someMethod.bind(anObject)
return anObject
})
})
在那里你也可以通过映射中的构造函数实例化对象,
getSomethingFromAPI().then(function(dataResponse){
var objectArray = _.map(JSON.parse(dataResponse), function(anObject){
return new SomeObjectConstructor(anObject.x, anObject.y)
})
})
或许还有更高级的技术。函数式方法会将数据和方法分开...