【发布时间】:2021-03-18 04:27:59
【问题描述】:
我正在使用 2 个 APIS 来访问食品营养数据,一个用于生食数据,另一个用于包装食品的条码扫描。
问题是每个都有自己的数据结构,这里有一个例子和从食物中获取卡路里的路径。
API A:
.foodNutrients[2].value = 52
foodNutrients: Array(15)[
{nutrientId: 1087, nutrientName: "Calcium, Ca", unitName: "MG",value:0},
{nutrientId: 1093, nutrientName: "Sodium, Na", unitName: "MG",value:0},
{nutrientId: 1008, nutrientName: "Energy", unitName: "KCAL",value:52}
]
API B:
.nutriments["energy-kcal_100g"] = 492
nutriments = {
calcium_100g: 0.076,
sodium_100g: 0.196
energy-kcal_100g: 492,
}
我的目标是能够从两个 APIS 添加项目并能够执行计算,例如计算总卡路里、蛋白质等。
我已经将我的应用设置为基于 API A 呈现数据,那么我是否要以某种方式转换 API B 数据,还是有其他解决方案?
【问题讨论】:
-
编写一个函数,该函数返回一个一致的营养对象,而不考虑 API。老实说,我不确定您要问什么,这里没有神奇的捷径,但这不是一个无法解决的问题,甚至不是一个困难的问题。将 B 转换为 A 是一个有效的解决方案,但同样,我看不出会有什么问题。
标签: javascript arrays database function object