Intereting Posts
Показывать номер в качестве условного номера в «текстовой форме» с помощью класса NumberFormatter PHP? Изменение информации заголовка http для скрытия информации сервера simpleXML и акцентированные символы в PHP Laravel Eloquent: Как заказать результаты связанных моделей? Сделайте хромированный дисплей rss-лентой (2) Полет PHP-маршрутизации из подкаталога PHP define (), похоже, не работает с include () Веб-сайт с оптимальным управлением кешем Проблема персидского символа в базе данных mysql спорадические нежелательные нулевые записи в базе данных $ _GET Как получить список экземпляров EC2 с помощью Amazon PHP SDK 2? Как получить размер файла удаленно сохраненного изображения? (РНР) Как определить, какая опция сетки используется в настоящее время PHP: как я могу загрузить содержимое веб-страницы в переменную? Создание защищенного паролем загружаемого файла на веб-странице

iPhone App / JSON – отправка данных в удаленную базу данных

У меня есть приложение iPhone, которое использует ASIHTTPRequest для отправки данных в php-файл, который затем использует sql для обновления базы данных соответственно.

Что меня беспокоит, я продолжаю читать, что должен кодировать мои опубликованные данные в формате JSON. Может ли кто-нибудь объяснить мне суть этого? Зачем мне кодировать в формате JSON? Каковы преимущества, потребности в этом.

РЕДАКТИРОВАТЬ:

Вот как я отправляю свои данные:

-(void) postToDB:(NSString*) msg{ NSString *myphp = @"http://localhost:8888/databases/test.php"; NSURL *url = [NSURL URLWithString:myphp]; ASIFormDataRequest *request = [ASIFormDataRequest requestWithURL:url]; [request setPostValue:msg forKey:@"message"]; [request setDelegate:self]; [request startAsynchronous]; } 

Инкапсулирование ваших данных в структуре JSON помогает создать структурированный протокол связи с вашим сервером. Не останавливаясь на этом, в зависимости от ваших потребностей, посмотрите на спецификации для JSON-RPC, например. Это позволяет вам иметь полностью определенный протокол для обмена данными, когда методы всегда передаются одинаково, ошибки всегда возвращаются одинаково.

Использование JSON, JSON-RPC, SOAP или любого другого «конверта», строго говоря, никогда не является обязательным. Это просто хорошая практика стандартизации связи по проводам.

Кроме того, я не знаю, установлен ли setPostValue:ForKey: автоматически setPostValue:ForKey: символы, когда это необходимо, но представьте, что вы отправляете GET в http: //whatever/get.php? Nickname = nick & with? Special @ chars & password = qzerty . Что здесь происходит? ваш PHP-скрипт не сможет правильно проанализировать поля «ник» и «пароль». Инкапсулирование ваших данных в JSON с помощью инфраструктуры JSON (вы можете превратить словарь NSString в структуру JSON безупречно в одной строке кода) помогает предотвратить такую ​​ситуацию.

Я вижу это как мужественное разделение базы данных из вашего приложения. Если вы используете JSON вместо простого SQL, это дает вам возможность отключать базы данных и создавать новые представления. Например, вы устали от MYSQL и хотите попробовать один из этих фантазийных NOSQL db, таких как Mongodb, вместо перезаписи всего вашего приложения iphone вам просто сложно переписать один скрипт php. Еще один пример: если приложение будет хорошо, и вы хотите создать версию и версию Android, или веб-версию, JSON упростит это, нужно будет только установить библиотеку JSON и уйти!