0

我应该如何解析 JSON 格式:

{
"1": {
    "name": "Бекон",
    "unit": "гр."
},
"2": {
    "name": "Бульон куриный",
    "unit": "ст."
}

}

和:

{
  "recipeCode" : "00001",
  "inCategory" : "12",
  "recipe" : "Зимний тыквенный суп",
  "difficulty" : 2,
  "personCount" : 4,
  "prepHour" : 1,
  "prepMin" : 30,
  "comments" : "При подаче добавить сметану, крутоны и присыпать сыром",
  "ingredients" : {
    "2" : 3,
    "11" : 2,
    "13" : 1,
    "14" : 2,
    "19" : 1
  }
}

第二个我什至没有尝试...但是第一个我遇到了一些问题。我这样做:

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Ingredients" ofType:@"json"];
NSData *myData = [NSData dataWithContentsOfFile:filePath];
NSError *error = nil;
NSDictionary *ingredients = [NSJSONSerialization JSONObjectWithData:myData options:kNilOptions error:&error];

而且我有两个键/值对的成分字典。它们都包含“1”和“1 键/值对”,而没有关于“名称”或“单位”值。

任何帮助如何正确解析此类 JSON

4

1 回答 1

1

您正在正确解析它,并且您将输出的内容将在字典中

解析将输出作为对象作为 NSDictionary数组作为 NSArray

因此,在您的情况下,键 1 和键 2 本身具有 NSDictionary 的值

在此处输入图像描述

NSDictionary *dict1 = [ingredients objectForKey:@"1"];
NSDictionary *dict2 = [ingredients objectForKey:@"2"];

和价值为

NSString *name=[dict1 objectForKey:@"name"];
NSString *unit=[dict1 objectForKey:@"unit"];
于 2013-04-24T05:16:45.420 回答