Какую библиотеку json использовать на iphone, чтобы использовать json, сгенерированный gson / jackson - PullRequest
7 голосов
/ 25 октября 2011

Мне нужно создать API данных JSON на основе Java, к которому будут обращаться с мобильных устройств: Android, Iphone ... Я сузился до следующих параметров:

  • api-gson данных на стороне сервераДжексон Либ (pojo to json)
  • Сторона Android - gson / Джексон lib (json to pojo)
  • Сторона Iphone - я погуглил и обнаружил, что существует множество фреймворков Jsonkit,json-framework, touch json и т. д. и т. д.

Вопрос :

  • Может ли кто-нибудь дать рекомендацию на стороне iphoneБиблиотека JSON?Генерируемые gson / jackson json выходные данные API данных, должны быть расходуемы с iphone без каких-либо специальных настроек структуры json

  • Есть ли какой-либо тип java Collection, от которого я должен держаться подальше (нана стороне сервера), чтобы обеспечить непосредственное преобразование json в объекты c?

  • Любые другие ошибки?

Примечание. Мне известно о PhoneGap, titanuim & некоторые эквиваленты - но не заинтересованы в них.Предполагается, что Json является универсальным форматом, но у меня раньше были проблемы с несколькими библиотеками - поэтому эта попытка понять от людей с предшествующим опытом по этому вопросу

Спасибо!

Ответы [ 4 ]

8 голосов
/ 25 октября 2011
  • Я использую RestKit Библиотека в проекте iPhone App.Это хорошая среда, которая поддерживает обработку запросов / ответов HTTP с (в основном REST) ​​серверами, анализаторами JSON / XML, чтобы помочь вам с переводом данных, и системой отображения объектов JSON <->.

    Может поставлять ваш iPhoneпотребности связи с сервером (выполнение запросов к серверу и получение ответов JSON от сервера и преобразование каждого из них в объекты target-c).

  • Для RestKit это имеет значение только для объектов вашего JSON-файла.Таким образом, вы можете использовать любой класс или коллекцию на своем сервере, если вы генерируете действительный файл JSON в качестве ответа.

  • Мне потребовалось некоторое время, чтобы научиться правильно использовать RestKit вмои заявки.Но когда вы к этому привыкнете, это определенно экономит ваше время, поскольку скрывает сложность анализа файлов JSON при каждом обращении к серверу.Вы правы, пытаясь выбрать хороший API обработки данных JSON для своего приложения.

    Еще одна хорошая вещь в RestKit - это его сообщество.У него есть GitHub, Google Groups и IRC-канал.Если вы планируете использовать его в качестве фреймворка, назначение его в список рассылки, безусловно, хорошая идея.

Приятного кодирования!; Р

2 голосов
/ 18 января 2017

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

Использование очень просто и работает как GSON или Джексон в Android / Java.

Пример использования Alamofire:

class User : EVObject{
    // EVReflection does not support optionals!
    // So you have to not declare any optional vars
    var name = ""
    var surname = ""
}

Alamofire.request("Your API URL").responseString{
    response in
        let resString = response.result.value
        // assuming that resString = "{'name' : 'john', 'surname' : 'Doe'}"
        let user = User(json : resString)
}
1 голос
/ 25 октября 2011

Лично я использую json-framework от Stig для моей разработки под iOS и отлично работает.Вы можете скачать его здесь .

0 голосов
/ 15 июня 2015

OCMapper аналогичен GSON, имеет возможность автоматически сопоставлять все поля и прост в использовании. Он поддерживает как цель C, так и Swift:

let request = Manager.sharedInstance.request(requestWithPath("example.com/users/5", method: .GET, parameters: nil))

request.responseObject(User.self) { request, response, user, error in
    println(user.firstName)
}
...