使用JSON方法基于项ID而不是项名称搜索REST API数据

时间:2014-11-10 19:20:48

标签: json rest formatting android-json

我正在使用FatSecreet API,我使用两种不同的方法。我想使用单击的第一个方法项的Id作为项标识符。我目前能够根据第一种方法得到信息" food_name"但我想使用" food_id"确保100%的准确性。是否可以根据项目" food_id"?搜索API。文档http://platform.fatsecret.com/api/Default.aspx?screen=rapih。如果您需要更多信息/代码,我会更新我的问题。我想知道如何在方法中使用JSON语句" food.get"基于项目" food_id"我从第一种方法" food.search"获得的。

首先,搜索我正在使用的数据库" foods.search"返回:

" foods.search"示例返回

{  
   "foods":{  
      "food":{  
         "food_description":"Per 342g - Calories: 835kcal | Fat: 32.28g | Carbs: 105.43g | Protein: 29.41g",
         "food_id":"4384",
         "food_name":"Plain French Toast",
         "food_type":"Generic",
         "food_url":"http:\/\/www.fatsecret.com\/calories-nutrition\/generic\/french-toast-plain"
      },
      "max_results":"20",
      "page_number":"0",
      "total_results":"228"
   }
}

第二种方法,我正在使用" foods.get"返回:

" foods.get"示例返回

    {  
   "food":{  
      "food_id":"4384",
      "food_name":"Plain French Toast",
      "food_type":"Generic",
      "food_url":"http:\/\/www.fatsecret.com\/calories-nutrition\/generic\/french-toast-plain",
      "servings":{  
         "serving":{  
            "calcium":"8",
            "calories":"159",
            "carbohydrate":"20.02",
            "cholesterol":"90",
            "fat":"6.13",
            "fiber":"0.8",
            "iron":"9",
            "measurement_description":"regular slice",
            "metric_serving_amount":"65.000",
            "metric_serving_unit":"g",
            "monounsaturated_fat":"2.298",
            "number_of_units":"1.000",
            "polyunsaturated_fat":"1.578",
            "potassium":"80",
            "protein":"5.58",
            "saturated_fat":"1.585",
            "serving_description":"regular slice",
            "serving_id":"16758",
            "serving_url":"http:\/\/www.fatsecret.com\/calories-nutrition\/generic\/french-toast-plain?portionid=16758&portionamount=1.000",
            "sodium":"320",
            "sugar":"4.87",
            "trans_fat":"0",
            "vitamin_a":"0",
            "vitamin_c":"0"
         }
      }
   }
}

更新 我在GitHub上发布了一个工作示例

https://github.com/EugeneHoran/Android-FatSecret-REST-API

1 个答案:

答案 0 :(得分:1)

  

是否可以根据“food_id”项目搜索API?

是。 food.get的文档说它需要food_id参数。

  

我想知道如何在方法“food.get”中使用JSON语句,基于我从第一种方法“food.search”获得的“food_id”项。

目前还不清楚你在这里说什么 - “JSON语句”没有意义 - 但如果我们将food.search响应的JSON对象转换为名为response的JavaScript对象,我们将使用food_id访问response.foods.food.food_id媒体资源。