В чем практическая разница между xml, json, rss и atom при взаимодействии с Twitter?
Вопрос
Я новичок в веб-сервисах, и в качестве введения я поиграю с Twitter API, используя Twisted framework на python.Я ознакомился с различными форматами, которые они предлагают, но мне все еще не ясно, какой из них мне следует использовать в моем довольно простом проекте.В частности, я хотел бы получить рекомендации по практическому различию между использованием JSON или XML.Все, что я делаю, это запрашиваю общедоступную временную шкалу и кэширую ее локально.
Спасибо.
Решение
Для меня это сводится к удобству.Используя XML, я должен проанализировать ответ в DOM (или, чаще всего, ElementTree).Используя JSON, один вызов simplejson.loads(json_string), и у меня есть собственная структура данных Python (списки, словари, строки и т.д.), Которую я могу начать повторять и обрабатывать.Все, что означает написание на несколько строк кода меньше, на мой взгляд, обычно является хорошей идеей.
Я часто использую JSON для перемещения структур данных между PHP, Python и JavaScript - опять же, потому что это избавляет меня от необходимости вычислять сериализацию XML, а затем анализировать ее на другом конце.
И, как сказал джинзо, в конечном итоге JSON занимает немного меньше байт на проводе.
Возможно, вам пригодится моя запись в блоге о JSON, сделанная пару лет назад: http://simonwillison.net/2006/Dec/20/json/
Другие советы
RSS и Atom - это форматы XML.
JSON - это строка, которая может быть вычислена как код Javascript.
Я бы сказал, что объем данных, отправляемых по проводам, является одним из факторов.Поток данных XML будет больше, чем JSON для тех же данных.Но вы можете использовать все, что вы знаете больше / имеете больше опыта.
Я бы рекомендовал JSON, так как он более "питонический", чем XML.