【发布时间】:2017-07-09 00:22:02
【问题描述】:
我正在尝试从此 JSON 中获取值。这是 JSON 的一部分,因为真正的 JSON 数据太长了。
"hits" : [ {
"recipe" : {
"uri" : "http://www.edamam.com/ontologies/edamam.owl#recipe_bd8def1d09d8c308f659e6945f366271",
"label" : "Pinchos de carne",
"image" : "http://img.recetascomidas.com/recetas/640_480/pinchos-de-carne.jpg",
"source" : "Recetal Comidas",
"url" : "http://pinchos-de-carne.recetascomidas.com/",
"shareAs" : "http://www.edamam.com/recipe/pinchos-de-carne-bd8def1d09d8c308f659e6945f366271/carne",
"yield" : 6.0,
"dietLabels" : [ "Low-Carb" ],
"healthLabels" : [ "Dairy-Free", "Gluten-Free", "Egg-Free", "Peanut-Free", "Tree-Nut-Free", "Soy-Free", "Fish-Free", "Shellfish-Free" ],
"cautions" : [ ],
"ingredientLines" : [ "600 gr. de carne magra de cerdo", "2 cucharadas de pimentón dulce", "1 cucharada de pimentón picante", "1 cucharada de cúrcuma", "1 cucharada de sazonador especial para carnes", "3 cucharadas de perejil fresco bien picadito", "1/2 cucharada de comino", "Aceite de oliva", "3 patatas", "1 diente de ajo", "Pimienta negra", "Sal" ],
"ingredients" : [ {
"text" : "600 gr. de carne magra de cerdo",
"quantity" : 600.0,
"measure" : null,
"food" : "carne magra cerdo",
"weight" : 600.0
}, {
"text" : "2 cucharadas de pimentón dulce",
"quantity" : 2.0,
"measure" : "tbsp",
"food" : "pimenton dulce",
"weight" : 13.6
}, {
"text" : "1 cucharada de pimentón picante",
"quantity" : 1.0,
"measure" : "tbsp",
"food" : "pimenton picante",
"weight" : 6.8
}, {
"text" : "1 cucharada de cúrcuma",
"quantity" : 1.0,
"measure" : "tbsp",
"food" : "curcuma",
"weight" : 6.8
}, {
"text" : "1 cucharada de sazonador especial para carnes",
"quantity" : 1.0,
"measure" : "tbsp",
"food" : "sazonador",
"weight" : 2.7
}, {
"text" : "3 cucharadas de perejil fresco bien picadito",
"quantity" : 3.0,
"measure" : "tbsp",
"food" : "perejil fresco",
"weight" : 11.4
}, {
"text" : "1/2 cucharada de comino",
"quantity" : 0.5,
"measure" : "tbsp",
"food" : "comino",
"weight" : 3.0
}, {
"text" : "Aceite de oliva",
"quantity" : 2.0,
"measure" : "tbsp",
"food" : "aceite oliva",
"weight" : 27.0
}, {
"text" : "3 patatas",
"quantity" : 3.0,
"measure" : null,
"food" : "patatas",
"weight" : 195.0
}, {
"text" : "1 diente de ajo",
"quantity" : 1.0,
"measure" : null,
"food" : "ajo",
"weight" : 3.0
}, {
"text" : "Pimienta negra",
"quantity" : 1.0,
"measure" : "peppercorn",
"food" : "pimienta negra",
"weight" : 0.3
}, {
"text" : "Sal",
"quantity" : 0.0,
"measure" : null,
"food" : "sal",
"weight" : 3.3346887
} ]
例如,我想获取“recipe”中的标签值。我在控制台中成功打印了所有 JSON,但我不知道如何获取配方值。
我希望你能帮助我。
这是我现在的代码。
let url: String = "https://test-es.edamam.com/search?q=pollo"
var arregloHits: NSMutableArray = []
override func viewDidLoad() {
super.viewDidLoad()
pruebaJson()
}
func pruebaJson(){
if ControladorService.conexionInternet(){
ControladorService.sharedInstance.callUrlWithCompletion(url: url, params: nil, completion: { (finished, response) in
if finished{
let result = NSMutableArray(array: response["hits"] as! NSArray)
self.arregloHits = result
print(self.arregloHits)
}else{
print("Connection failed")
}
}, method: .get)
}else{
print("No Internet")
}
}
【问题讨论】:
-
这段代码能走多远?是否成功打印
print(self.arregloHits)的结果?您现在的问题是如何从hits数组中获取每个配方?