2つのJSONファイルがあります。 1つはすべての製品データを含み、もう1つは栄養データを含む。現在、私は両方の配列を連結していますが、これらの配列の両方からオブジェクトを結合する必要があります。2つのJSON配列を項目番号で結合しようとしています
製品のJSONファイルには「itemNum」があり、栄養価の高いJSONファイルには「itemFullUPC」があります。これらのデータベースの両方で、各製品の番号は同じです。 "itemFullUPCと" itemNum "は、2つのデータベース内の特定の製品の" 070796400087 "と等しくなります。
「itemNum」と「itemFullUPC」を持つオブジェクトのこれら2つのデータベースとすべてのコンテンツをマージする方法一致していますか?これは理にかなって願っています。
$.ajax({
dataType: "jsonp",
url: 'http://50.73.209.125:8080/api/ItemMaster/',
success: function(json){
//assign JSON to product data variable
product_data = json;
$.ajax({
dataType: "jsonp",
url: 'http://50.73.209.125:8080/api/ItemNutrition/',
success: function(json){
//assign JSON to nutrition data variable
nutritional_data = json;
var json = product_data.concat(nutritional_data);
console.log(json);
}
});
}
});
栄養DBオブジェクトの例
{
"_id":"5791193f8d30bc8e78002ced",
"itemLastUpdated":"12/9/2016 1:02:31 PM",
"itemSelenium":0,
"itemZinc":0,
"itemMagnesium":0,
"itemIodine":0,
"itemPhosphorus":0,
"itemPanthoAcid":0,
"itemBiotin":0,
"itemVitaminB12":0,
"itemFolate":0,
"itemVitaminB6":0,
"itemManga":0,
"itemNiacin":0,
"itemRiboflavin":0,
"itemThiamin":0,
"itemVitaminK":0,
"itemVitaminE":0,
"itemCopper":0,
"itemVitaminD":0,
"itemIron":0,
"itemCalcium":0,
"itemVitaminC":0,
"itemVitaminA":0,
"itemPolyUnsatFat":0,
"itemSaturFat":0,
"itemTotalFat":0,
"itemSugars":0,
"itemDietFiber":0,
"itemTotalCarb":1,
"itemPotassium":0,
"itemSodium":500,
"itemCholesterol":0,
"itemMonoUnsatFat":0,
"itemTransFat":0,
"itemProtein":1,
"itemSugarAlcohol":0,
"itemCaloriesFromFat":0,
"itemCalories":5,
"itemServings":6,
"itemIngredients":"Chicken Broth, Contains less than 1% of the following: Salt, Dextrose, Monosodium Glutamate, Maltodextrin, Flavor",
"servingSize":"1 cup",
"servingSizeUnit":"cup",
"servingSizeQnty":1,
"itemNum":"070796400087",
"__v":0
}
製品DBオブジェクトの例は
{
"_id":"577411f7cce3c4c741000001",
"itemGMOFree":"N",
"itemBrandLetter":"C",
"itemKosherSym":"N",
"itemShipper":"N",
"itemRefridge":"N",
"itemFrozen":"N",
"itemPreWeight":"Y",
"itemDeli":"N",
"itemGlutenFree":"Y",
"itemHoliday":"N",
"itemSeasonBuy":"Y",
"itemScannable":"Y",
"itemUnlabeled":"N",
"itemPalletWeight":2500,
"itemPalletTiers":10,
"itemPalletBlocks":10,
"itemCaseCube":0.56,
"itemCaseDepth":16.25,
"itemCaseWidth":12,
"itemCaseHeight":5,
"itemCaseWeight":24.5,
"itemCaseUnits":12,
"itemPieceCube":0.043,
"itemPieceDepth":4,
"itemPieceWidth":4,
"itemPieceHeight":4.65,
"itemPieceWeight":1.75,
"itemNetContent":"28.00",
"itemFullUPC":"070796400087",
"itemCountry":"Italy",
"itemPackSize":"12/28 oz",
"itemUOM":"OZ",
"itemDescription":"Whole peeled San Marzano plum tomatoes are specially grown at the base of Mt. Vesuvius, and are freshly packed with basil in puree. This type of tomato is sweeter, less acidic, contains less seeds, and has higher pectin than other tomatoes.",
"itemName":"Cento San Marzano Certified Tomatoes",
"itemBuildNum":0,
"itemSuffix":7,
"itemItem":40008,
"itemMFG":70796,
"itemPrefix":0,
"itemCase_GTIN":30,
"itemPiece_GTIN":0,
"imageURL":"http://centogallery.zenfolio.com/img/s5/v130/p961607729-3.jpg",
"itemCommodity":"1120",
"__v":0,
"itemLastUpdated":"12/21/2016 1:06:28 PM",
"itemVendor":17477,
"itemBPAFree":"",
"itemCategory":1,
"itemDairy":"",
"itemEgg":"",
"itemLowSodium":"",
"itemOrganic":"",
"itemPeanuts":"",
"itemShellfish":"",
"itemSoy":"",
"itemTreeNuts":"",
"itemWheat":"",
"itemWholeGrain":""
}
これらのオブジェクトの両方に同じアイテム番号 "070796400087"が両方含まれていることに注意してください。 itemNumがitemsFullUPCと一致する場合、これらの例の両方を組み合わせる必要があります。
あなたは、各JSONの例構築のカップルを投稿することができますか? –
@VanquishedWombat私はそれを – Tom
の上に置きます。ユーザーが配列1から製品を選択したときに、配列2の大きなループを実行する必要がないように結合したいと思いますか? –