Как мы можем обрабатывать динамический веб-сервис в iPhone? - PullRequest
2 голосов
/ 06 марта 2012

Я изучаю некоторые сложные разработки для iPhone, и во время своих экспериментов я обнаружил, что обычно мы использовали локализованный веб-сервис, в котором все параметры фиксированы (ключевое слово).Если мой веб-сервис изменит некоторые поля в ответе, чем как мы можем обрабатывать в iPhone.Пожалуйста, помогите мне.Если у кого-нибудь есть хорошая идея.

Например, ответ Webservice1:

    [    {
      "Number":"A12 hrb",
      "List":[
         {
            "Type":"Works",
            "Display":{
               "dop":45,
               "dopper":56
            },
            "OAST":"10-01-2012",
            "OAET":"07-04-2012",
            "Cause":"define",
            "Impact":"Queue",
            "Description":"Take a Break.",
            "LName":"Lunetten To Lunetten",
            "Number":"A12 hrb",
         }
      ]    },   ]

Ответ Webservice2:

[    {
      "Number":"A12 hrb",
      "Number2":"A13 brs",
      "List":[
         {
            "Type":"Works",
            "Display":{
               "dop":45,
               "dopper":56
               "picker":90  
            },
            "OAST":"10-01-2012",
            "MAET":"07-04-2012", 
            "OAET":"07-04-2012",
            "Cause":"define",
            "Impact":"Queue",
            "Description":"Take a Break.",
            "LName":"Lunetten To Lunetten",
            "Number":"A12 hrb",
         }
      ]    },   ]

Ответы [ 3 ]

1 голос
/ 06 марта 2012

Вы можете сделать это

  1. Разбор ответа. Если ответ JSON, то определенно вы получите словарь, просто сохраните ссылку на него.
  2. вы можете получить все ключи в словаре, вызвав следующий метод
    • (NSArray *) allKeys
  3. Теперь перечислите вышеуказанный массив и получите доступ к значениям, соответствующим каждому ключу, и делайте все, что вы хотите

Но вы должны знать значение / назначение динамических клавиш. Если у вас нет значения / назначения клавиш, эти шаги могут не помочь вам ... удачи.

0 голосов
/ 06 марта 2012

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

0 голосов
/ 06 марта 2012

Не думаю, что можно будет разобрать его полностью. По крайней мере, вы должны знать, какие ключи будут там. например ответ имеет номер, номер2 и список в качестве ключей. Это нормально, если некоторые ответы не содержат один / несколько ключей.

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

например.

[    {
      <strong>"dynamic_keys": "Number2",</strong>
      "Number":"A12 hrb",
      "Number2":"A13 brs",
      "List":[
         {
            "Type":"Works",
            "Display":{
               "dop":45,
               "dopper":56
               "picker":90<br>
            },
            "OAST":"10-01-2012",
            "MAET":"07-04-2012", 
            "OAET":"07-04-2012",
            "Cause":"define",
            "Impact":"Queue",
            "Description":"Take a Break.",
            "LName":"Lunetten To Lunetten",
            "Number":"A12 hrb",
         }
      ]    },   ] 

Вы можете прочитать значение «dynamic_keys», а затем, используя это значение, вы можете прочитать значение фактического динамического ключа.

edit: как упомянуто ssteinberg, вы можете использовать некоторые фреймворки, такие как JSONKit, для анализа фактического JSON. Смотрите также: Как проанализировать JSON с узлом динамического ключа

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