PLC - automatisme et iPhone

Lecture et décodage JSON

Exemple avec Twitter

Le codage JSON (Javascript object notation) est plus simple et plus rapide que XML pour la transmission d'informations.

On se propose de retrouver une information numérique dans un fichier JSON. L'exemple montre un fichier JSON, ce mode est souvent utilisé par Twitter. La demande d'information sur un compte retourne le fichier JSON ci-dessous.
Sur le blog de Jean-Marc Morandini on va extraire le nombre de followers.

Le fichier WagoML Morandini.xml

Fichier WagoML des followers de Jean-Marc Morandini

PLCLink QR Morandini
Les followers de Morandini

Vous pouvez charger le fichier WagoML à partir du QR Code présenté. ou sur le lien suivant :
Morandini.xml
L'icon ci-contre comporte un lien direct pour iPad/iPhone vers PLCLink.
Plus simple vous pouvez d'utiliser le lecteur de QR Code intégré de PLCLink ou MobileTag pour scanner le dessin ci-contre. Le fichier Morandini.xml sera chargé dans PLClink.

Fichier mis à jour 11/2012, les url de twitter ont étés modifiées, le nombre total des appels est limité dans une période de temps, il est donc possible de ne pas recevoir de réponse.

Aspect du rendu.

PLCLink QR METEO

Fichier wagoML associé

Voici le source du fichier de configuration :


<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE wagoml PUBLIC "-//wagoml org//DTD WAGOML 1.0//EN" "http://pautex.fr/wago/DTD/WagoML-1.0.dtd"> 
<wagoml version="1.0" xmlns="http://pautex.fr/wago/"> 
	<title>MBED</title>
	<items> 
		<item id="0"> 
			<title>Intern</title> 
			<name>Twitter</name> 
			<url/> 
			<user/> 
			<password/> 
		</item> 
	</items>
	<rooms> 
		<setting>
			<title>Intern</title> 
			<name>Twitter</name> 
		</setting>
		<room id="0"> 
			<title>Folowers Morandini</title>
			<refresh>3000</refresh>
			<items> 
				<item id="0"> 
					<title>Test</title>
					<name>Followers Morandini</name>
					<description>user/followers_count</description>
					<type>json</type>
					<text>user/followers_count</text>						
					<affichage>text</affichage>
					<url>https://api.twitter.com/1/statuses/
					user_timeline/morandiniblog.json?count=1</url>
				</item>
			</items>
		</room>
	</rooms>
</wagoml>
	

L'adresse est dans une balise <url>
L'information est retrouvée avec le chemin : user/followers_count

Ce fichier wagoML comporte un item <setting> combiné avec un titre <title>Intern</title> ce qui lui permet d'être enregistré dans l'iPhone comme entrée locale.

URL de Twitter

Le site Twitter propose des url de ce type (mise à jour 11/2012):
https://api.twitter.com/1/statuses/user_timeline/morandiniblog.json?count=1
le fichier JSON ci-dessous est retourné, il est mis en forme pour lecture plus aisée. L'information est dans : folowers_count lui même dans l'entrée : user

[
	{
	"possibly_sensitive_editable":true,
	"in_reply_to_screen_name":null,
	"in_reply_to_user_id":null,
	"truncated":false,
	"contributors":null,
	"retweeted":false,
	"possibly_sensitive":false,
	"coordinates":null,
	"geo":null,
	"retweet_count":1,
	"in_reply_to_status_id_str":null,
	"user":{
		"show_all_inline_media":true,
		"id":35287180,
		"profile_use_background_image":true,
		"profile_text_color":"666666",
		"profile_background_image_url_https":"https:\/\/si0.twimg.com\/
		images\/themes\/theme9\/bg.gif",
		"following":true,
		"listed_count":1667,
		"utc_offset":3600,
		"verified":true,
		"name":"Jean Marc Morandini",
		"id_str":"35287180",
		"profile_image_url_https":"https:\/\/si0.twimg.com\/profile_images
		\/1387483843\/Logo_JMM_normal.JPG",
		"profile_sidebar_border_color":"181A1E",
		"is_translator":false,"protected":false,
		"follow_request_sent":false,
		"url":"http:\/\/www.jeanmarcmorandini.com",
		"created_at":"Sat Apr 25 19:21:48 +0000 2009",
		"profile_image_url":"http:\/\/a0.twimg.com\/profile_images
		\/1387483843\/Logo_JMM_normal.JPG",
		"profile_background_tile":false,
		"default_profile_image":false,
		"followers_count":210729,
		"profile_sidebar_fill_color":"252429",
		"favourites_count":3,
		"description":"Journaliste Animateur",
		"statuses_count":36953,"friends_count":489,
		"screen_name":"morandiniblog",
		"location":"Paris (France)",
		"profile_background_color":"1A1B1F",
		"lang":"fr",
		"contributors_enabled":false,
		"geo_enabled":false,
		"profile_background_image_url":"http:\/\/a0.twimg.com
		\/images\/themes\/theme9\/bg.gif",
		"notifications":false,"default_profile":false,
		"profile_link_color":"2FC2EF",
		"time_zone":"Paris"
		},
	"in_reply_to_user_id_str":null,
	"favorited":false,
	"source":"\u003Ca href=\"http:\/\/www.jeanmarcmorandini.com
	\/\" rel=\"nofollow\"\u003EApplication @morandiniblog\u003C\/a\u003E",
	"created_at":"Fri Jun 01 13:01:06 +0000 2012",
	"id_str":"208543695828566018",
	"place":null,
	"in_reply_to_status_id":null,
	"id":208543695828566018,
	"text":"Canal+ va diffuser \"L'Affaire Gordji
	\", un t\u00e9l\u00e9film sur le duel Mitterrand-Chirac
	 #canal+ #mitterrand #chirac http:\/\/t.co\/0vAuLkKX"
	}
]


PLCLink more
index

 

Valid XHTML 1.0 Transitional