2017-01-31 9 views
0

私の目標:USDA NDB APIから取得した栄養データを表示する検索機能を実装します。API Ajaxの構造

ステータス:部分的な成功

問題:USDAは、オブジェクトが多少不愉快返さstuctured。このスクリーンショットの紹介:http://imgur.com/a/gOKdk ピザは最初のキー値で水を持ち、ミルクはエネルギーを持っています。

私の質問:

私はすべての検索のために例えばエネルギーを取得したい場合は、どのように私は私のAJAX呼び出しを構築でしょうか?

$.ajax({ 
     type: 'GET', 
     async: false, 
     url: 'http://api.nal.usda.gov/ndb/reports/?ndbno=' + ndbno[0] + '&type=b&format=json&api_key=', 
     success: function(results) { 
      food0 = results.report.food; 
      console.log(food0); 
      $("#jsGrid-nutrition").jsGrid("insertItem", { 
       name: food0.name, 
       kCal: food0.nutrients[1].measures[0].value, 
       servingSize: food0.nutrients[1].measures[0].label, 
       quantity: food0.nutrients[1].measures[0].qty, 
       carbs: food0.nutrients[4].value + food0.nutrients[4].unit, 
       fats: food0.nutrients[3].value + food0.nutrients[3].unit, 
       saturatedFats: food0.nutrients[3].value + food0.nutrients[3].unit, 
       protein: food0.nutrients[24].value + food0.nutrients[24].unit 
      }); 
+0

ループアレイの上とエネルギーを探して? – epascarello

+0

jquery grep関数を使ってエネルギーを見つけることができます:http://api.jquery.com/jquery.grep/ – tegon

答えて

1

あなたはループあなたの配列をすべきであり、特定のnameを検索:

var energy = ''; 

$.each(food0.nutrient, function() { 
    if (this.name == 'Energy') { 
     energy = this.value; 

     return false; // == break; return true == continue; 
    } 
}); 
関連する問題