Разбор Json Array of Arrays - PullRequest
       12

Разбор Json Array of Arrays

0 голосов
/ 31 марта 2010

Это мой первый пост о stackoverflow, поэтому наберитесь терпения: -)

У меня есть массив массивов Json:

 {
  "response_type": "ok",
  "total_results": 1,
  "page": 1,
  "total_pages": 1,
  "sets": [
    {
      "id": 2075184,
      "created": 1269989599,
      "term_count": 5,
      "has_images": false,
      "terms": [
        [
          "\u9031\u672b",
          "Weekend",
          ""
        ],
        [
          "\u65e5\u66dc\u65e5",
          "Sunday",
          ""
        ],
        [
          "\u571f\u66dc\u65e5",
          "Saturday",
          ""
        ],
        [
          "\u79c1",
          "I, myself",
          ""
        ],
        [
          "\u65e5\u672c\u8a9e",
          "Japanese",
          ""
        ]
      ]
    }
  ]
}

Я использую этот код в своем проекте, чтобы получить«условия» в NSDictionary:

  NSURL *url = [NSURL URLWithString:@"http://localhost/json"];

  NSString *jsonreturn = [[NSString alloc] initWithContentsOfURL:url];  
  NSData *jsonData = [jsonreturn dataUsingEncoding:NSUTF32BigEndianStringEncoding];
  NSError *error = nil;
  NSDictionary * dict = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];

  NSLog(@"dict1: %@", dict);
  if (dict)
  {
    rows = [dict objectForKey:@"sets"];
  }

  NSLog(@"Array: %@", rows);

Однако у меня возникают проблемы с выяснением, как разделить термины, например:

[
          "\u9031\u672b",
          "Weekend",
          ""
        ],

Я хотел бы NSArray всехЯпонский: "\ u9031 \ u672b" (то есть, кстати, японский) и NSArray всех определений Weekend (или NSDictionary).Однако я не уверен, как их разделить.Мы можем смело предположить, что все японцы равны 0, а все определения равны 1. Любая помощь будет замечательной!

спасибо,

Ответы [ 2 ]

2 голосов
/ 31 марта 2010

Рассматривали ли вы использование JSON Framework для iPhone Objective-C?

0 голосов
/ 01 апреля 2010
    [
    "\u9031\u672b",
    "Weekend",
    ""
    ],

Я хотел бы получить NSArray для всех японцев: "\ u9031 \ u672b" (то есть, кстати, японский) и NSArray для всех выходных определений (или NSDictionary). Однако я не уверен, как их разделить. Мы можем с уверенностью предположить, что все японцы равны 0, а все определения равны 1.

Таким образом, элемент 0 (и аналогично элемент 1) может быть строкой или массивом, и если это не массив, вы хотите обернуть его в массив?

Просто сделай это тогда. Получить элемент 0, проверить, является ли он массивом , и обернуть его в один , если это не так. Затем сделайте то же самое для элемента 1.

Вы могли бы рассмотреть возможность внесения некоторых изменений на стороне сервера, если можете: обслуживать данные в виде словаря с ключами, выбранными для ясности, а не в виде массива с волшебными индексами, и иметь любые значения, равные нулю или более или один или более всегда быть массивами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...