Dobbiamo tenere in mente 2 cose importanti:

– Tutti i feed devono essere in formato JSON, con la medesima struttura.
– In base al tipo di contenuti, alcuni attributi differiranno da altri.

Nel seguente esempio, creeremo un feed che mostri gli ultimi 24 articoli del sito web istituzionale in COMUNICAPP . Sarà comunque simile se si volesse creare un feed che visualizzi altri articoli (basati su un tag ad esempio) o un feed contenga la risposta a una specifica ricerca.

{  
   "generated_in" : "0.010000 s", 
   "items" : [ 
       { 
           "author" : "Author of the post", 
           "commentsEnabled" : true, 
           "commentsPostUrl" : "URL_API_COMMENTS", 
           "commentsUrl" : "URL_FEED_COMMENTS", 
           "content" : "...", 
           "date" : "2013-10-23T21:57:00+02:00", 
           "id" : 123456, 
           "images" : [ 
               { 
                   "id" : "image_123456", 
                   "url" : "URL_ORIGINAL_IMAGE", 
               } 
           ], 
           "largeThumbnail" : "URL_LARGE_THUMBNAIL", 
           "nbComments" : 12, 
           "smallThumbnail" : "URL_SMALL_THUMBNAIL", 
           "subtype" : "custom", 
           "summary" : "...", 
           "tumbnail" : "URL_THUMBNAIL", 
           "title" : "Title of the post", 
           "type" : "article", 
           "url" : "URL_POST", 
       }, 
       ... 
   ],  
   "next_page" : "http://www.example.com/json.php?page=2", 
   "stat" : "ok",  
   "title" : "Example",  
   "url" : "http://www.example.com"  
}

Alla radice del dizionario JSON si deve inserire il metadata del feed. Qui si possono trovare le descrizioni.

Struttura principale del file JSON
Queste keys si troveranno alla radice del feed.

Name Type Description
generated_in String Generation time of the response
items Array of Items Array of items to be returned
next_page String URL of the next_page to call (calculated with the page and per_pageargs)
stat String Status of the response (“ok” is everything is fine, “error” otherwise)
title String Title of the source
url String URL of the source

Dunque adesso si devono compilare i campi con gli Article object (relativi al tipo di item). Qui la descrizione di ogni attributo.

Keys del dizionario dei termini generali
Queste keys sono le stesse per tutti gli item. Se l’esempio fosse relativo al feed personalizzato di fotografie, questi sarebbero gli attributi da utilizzare.

Name Type Description
id String Item unique identifier on its source
type String Item type
title String Item title
url String Item URL on its source
categories Array of Strings Categories associated with the item on the source
date String (date) Item publication date
author String Item author
subtype String Item subtype (generally describes the service type of the source)

Keys del dizionario relativo agli articoli
Visto che l’esempio è relativo a un feed di articoli, si devono inserire queste keys per tutti gli oggetti.

Name Type Description
nbComments Integer Number of comments associated with the item on its source
commentsEnabled Bool Describes if the comments have to be enabled or not for this item
commentsUrl String URL to access the JSON feed of comments for this item
commentsPostUrl String URL that allows to post comments on this item
summary String Summary of the article (no HTML, text only)
content String Article content
smallThumbnail String Article thumbnail (small format)
thumbnail String Article thumbnail (medium format)
largeThumbnail String Article thumbnail (big format)
images Array of Dict List of images contained in the article
images/[]/id String Value of the id attribute of the tags in article content
images/[]/url String Image URL