Sunday, December 25, 2011

Σύγκριση JSON & XML Diavgeia API

To API ανοικτών δεδομένων της Δι@ύγειας δίνει την δυνατότητα ανάκτησης δεδομένων τόσο σε XML όσο και σε JSON format. Αρχικά, η ΥπερΔιαύγεια χρησιμοποιούσε XML αλλά σήμερα, αυτό άλλαξε σε JSON. Η αλλαγή αυτή έγινε για τους εξής δύο λόγους:

1. Το μέγεθος των αρχείων JSON είναι πολύ μικρότερο από τα αρχεία XML για τα ίδια δεδομένα. Το XML έχει πάρα πολύ overhead!


2. Το parsing και η επεξεργασία ενός αρχείου XML είναι πολύ πιο περίπλοκη και απαιτεί περισσότερα resources σε σχέση με το JSON. Ενδεικτικά αναφέρω ότι για να γίνει parse ένα diavgeia XML document ακολουθείται η εξής διαδικασία:

  1. XML Tidy parsing and repairing http://gr.php.net/manual/en/class.tidy.php
  2. XMLReader parsing  http://gr.php.net/XMLReader
  3. Creation of PHP object with all necessary information
  4. Insert into database
Αντίθετα, ένα diavgeia JSON document είναι πολύ πιο απλό στην επεξεργασία
  1. json_decode decodes a JSON string into a PHP object http://gr.php.net/json_decode
  2. Insert into database
Επιπλέον, το json_decode είναι native PHP function ενώ για το XML parsing χρησιμοποιούνται PHP extensions. Το τελικό αποτέλεσμα είναι τουλάχιστον 5 φορές γρηγορότερο με το 1/3 των απαιτήσεων σε resources με την χρήση JSON.

Επιπλεόν πληροφορίες:

No comments:

Post a Comment