<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sentido Web &#187; json</title>
	<atom:link href="http://sentidoweb.com/tag/json/feed" rel="self" type="application/rss+xml" />
	<link>http://sentidoweb.com</link>
	<description>Desarrollo web, HTML, CSS, Javascript, PHP, MySQL</description>
	<lastBuildDate>Tue, 10 Apr 2012 01:02:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Lawnchair: &#8216;base de datos&#8217; clave-valor en Javascript</title>
		<link>http://sentidoweb.com/2010/03/09/lawnchair-base-de-datos-clave-valor-en-javascript.php</link>
		<comments>http://sentidoweb.com/2010/03/09/lawnchair-base-de-datos-clave-valor-en-javascript.php#comments</comments>
		<pubDate>Tue, 09 Mar 2010 17:11:20 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[base de datos]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[nosql]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/?p=2217</guid>
		<description><![CDATA[Lawnchair es una base de datos documental basada en JSON y que funciona en el cliente (Javascript). Puede venir muy bien para desarrollo de aplicaciones para móviles. Es muy fácl de usar y permite operaciones de escritura, lectura, búsqueda y eliminación. var people = new Lawnchair&#40;'people'&#41;; // Saving a document async people.save&#40;&#123;name:'frank'&#125;, function&#40;r&#41; &#123; console.log&#40;r&#41;; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Lawnchair</strong> es una base de datos documental basada en JSON y que funciona en el cliente (Javascript). Puede venir muy bien para desarrollo de aplicaciones para móviles. Es muy fácl de usar y permite operaciones de escritura, lectura, búsqueda y eliminación.</p>
<pre><code><pre class="javascript"><span style="color: #003366; font-weight: bold;">var</span> people = <span style="color: #003366; font-weight: bold;">new</span> Lawnchair<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'people'</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #009900; font-style: italic;">// Saving a document async</span>
people.<span style="color: #006600;">save</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span><span style="color: #000066;">name</span>:<span style="color: #3366CC;">'frank'</span><span style="color: #66cc66;">&#125;</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span>r<span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
    console.<span style="color: #006600;">log</span><span style="color: #66cc66;">&#40;</span>r<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #009900; font-style: italic;">// Specifying your own key</span>
people.<span style="color: #006600;">save</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span>key:<span style="color: #3366CC;">'whatever'</span>, <span style="color: #000066;">name</span>:<span style="color: #3366CC;">'dracula'</span><span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre></code></pre>
<p><a href="http://brianleroux.github.com/lawnchair/">Lawnchair</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2010/03/09/lawnchair-base-de-datos-clave-valor-en-javascript.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geolocalización por IP mediante Javascript y JSON</title>
		<link>http://sentidoweb.com/2009/04/13/geolocalizacion-por-ip-mediante-javascript-y-json.php</link>
		<comments>http://sentidoweb.com/2009/04/13/geolocalizacion-por-ip-mediante-javascript-y-json.php#comments</comments>
		<pubDate>Mon, 13 Apr 2009 20:15:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[geolocalizacion]]></category>
		<category><![CDATA[ip]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[latitud]]></category>
		<category><![CDATA[longitud]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2009/04/13/geolocalizacion-por-ip-mediante-javascript-y-json.php</guid>
		<description><![CDATA[Sencillo script que nos devuelve un JSON con la geolocalización según la IP, usando los datos sacados de iplocationtools.com: function getLocation&#40;&#41;&#123; script = document.createElement&#40;'script'&#41; script.src = 'http://www.nitinh.com/ip_query.php?callback=initialize' document.body.appendChild&#40;script&#41; &#125; function initialize&#40;obj&#41;&#123; document.getElementById&#40;'spanLocation'&#41;.innerHTML = obj&#91;'City'&#93; + ', ' + obj&#91;'RegionName'&#93; + ', ' + obj&#91;'CountryName'&#93;; &#125; IP Address Geolocation Javascript API : JSON Vía / korayem]]></description>
			<content:encoded><![CDATA[<p>Sencillo script que nos devuelve un JSON con la geolocalización según la IP, usando los datos sacados de <a href="http://www.iplocationtools.com/sql_database.php">iplocationtools.com</a>:</p>
<pre><code><pre class="javascript"><span style="color: #003366; font-weight: bold;">function</span> getLocation<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
script = document.<span style="color: #006600;">createElement</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'script'</span><span style="color: #66cc66;">&#41;</span>
script.<span style="color: #006600;">src</span> = <span style="color: #3366CC;">'http://www.nitinh.com/ip_query.php?callback=initialize'</span>
document.<span style="color: #006600;">body</span>.<span style="color: #006600;">appendChild</span><span style="color: #66cc66;">&#40;</span>script<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#125;</span>
<span style="color: #003366; font-weight: bold;">function</span> initialize<span style="color: #66cc66;">&#40;</span>obj<span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
document.<span style="color: #006600;">getElementById</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'spanLocation'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">innerHTML</span> = obj<span style="color: #66cc66;">&#91;</span><span style="color: #3366CC;">'City'</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #3366CC;">', '</span> + obj<span style="color: #66cc66;">&#91;</span><span style="color: #3366CC;">'RegionName'</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #3366CC;">', '</span> + obj<span style="color: #66cc66;">&#91;</span><span style="color: #3366CC;">'CountryName'</span><span style="color: #66cc66;">&#93;</span>;
<span style="color: #66cc66;">&#125;</span></pre></code></pre>
<p><a href="http://www.nitinh.com/2009/04/ip-address-geolocation-javascript-api-json/">IP Address Geolocation Javascript API : JSON</a></p>
<p>Vía / <a href="http://youare.com/korayem/2009/04/11/823236">korayem</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2009/04/13/geolocalizacion-por-ip-mediante-javascript-y-json.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Taffy DB: usar JSON de forma similar a SQL</title>
		<link>http://sentidoweb.com/2008/03/14/taffy-db-usar-json-de-forma-similar-a-sql.php</link>
		<comments>http://sentidoweb.com/2008/03/14/taffy-db-usar-json-de-forma-similar-a-sql.php#comments</comments>
		<pubDate>Fri, 14 Mar 2008 16:30:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[json]]></category>
		<category><![CDATA[json javascript]]></category>
		<category><![CDATA[json sql]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2008/03/14/taffy-db-usar-json-de-forma-similar-a-sql.php</guid>
		<description><![CDATA[Interesante librería que nos permite acceder a datos JSON mediante una nomenclatura parecida a SQL. Así cuando desarrollemos una capa de Ajax podemos buscar entre los datos, o modificarlos mediante esta librería. Unos ejemplos de uso serían los siguientes: products.find({price:{lessthan:10}, type:{not:"Book"}}); friends.insert( {name:"Brian", gender:"M", married:"No", age:52, state:"FL", favorite_foods:["fruit","steak"] }); Esta librería nos permite en sus [...]]]></description>
			<content:encoded><![CDATA[<p>Interesante librería que nos permite acceder a datos JSON mediante una nomenclatura parecida a SQL. Así cuando desarrollemos una capa de Ajax podemos buscar entre los datos, o modificarlos mediante esta librería.</p>
<p>Unos ejemplos de uso serían los siguientes:</p>
<pre><code>products.find({price:{lessthan:10},
type:{not:"Book"}});</code></pre>
<pre><code>friends.insert(
{name:"Brian",
gender:"M",
married:"No",
age:52,
state:"FL",
favorite_foods:["fruit","steak"]
});</code></pre>
<p>Esta librería nos permite en sus 10K hacer consultas, insertar, borrar y actualizar datos, ordenar, realizar bucles, queries avanzadas, ordenar los datos y a parte es compatible con YUI, JQuery, Dojo, Prototype y EXT.</p>
<p><a href="http://taffydb.com/">Taffy DB</a></p>
<p>Vía / <a href="https://www.ajaxline.com/node/795">AjaxLine</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2008/03/14/taffy-db-usar-json-de-forma-similar-a-sql.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JsonSQL: consultas SQL sobre JSON</title>
		<link>http://sentidoweb.com/2008/01/18/jsonsql-consultas-sql-sobre-json.php</link>
		<comments>http://sentidoweb.com/2008/01/18/jsonsql-consultas-sql-sobre-json.php#comments</comments>
		<pubDate>Fri, 18 Jan 2008 16:00:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[json]]></category>
		<category><![CDATA[json sql]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2008/01/18/jsonsql-consultas-sql-sobre-json.php</guid>
		<description><![CDATA[JsonSQL es una librería Javascript que nos permite realizar consultas sobre variables con formato JSON, mediante sintaxis SQL. Por ahora solo está permitido las consultas SELECT y la verdad es que tiene bastantes limitaciones: No admite espacios entre listas tipo &#8220;select campo1,campo2,campo3&#8243; o &#8220;limit 0,10&#8243; Las condiciones en el WHERE serán condiciones Javascript y no [...]]]></description>
			<content:encoded><![CDATA[<p><strong>JsonSQL</strong> es una librería Javascript que nos permite realizar consultas sobre variables con formato JSON, mediante sintaxis SQL.</p>
<p>Por ahora solo está permitido las consultas <em>SELECT</em> y la verdad es que tiene bastantes limitaciones:</p>
<ul><li>No admite espacios entre listas tipo &#8220;select campo1,campo2,campo3&#8243; o &#8220;limit 0,10&#8243;</li>
<li>Las condiciones en el <em>WHERE</em> serán condiciones Javascript y no SQL</li>
<li>La documentación es escasa y parece que no admite alias, joins, count o group by</li></ul>
<p>Un ejemplo de consulta sería el siguiente:</p>
<pre><code>sonsql.query("select title,url from json.channel.items where (category=='javascript' || category=='vista') order by title,category asc limit 3",json);</code></pre>
<p>Una librería parecida y más completa es <a href="http://sentidoweb.com/2007/07/04/trimquery-usa-sql-en-javascript.php">TrimQuery</a>, de la cual ya hablamos hace tiempo. De todas formas, recomiendo no usar este tipo de librerías, que sí, son muy cómodas, pero no tengo muy claro que tengan buen rendimiento.</p>
<p><a href="http://www.trentrichardson.com/jsonsql/">JsonSQL</a></p>
<p>Vía / <a href="http://www.ajaxline.com/jsonsql-0-1">AjaxLine</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2008/01/18/jsonsql-consultas-sql-sobre-json.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Formatea código JSON online</title>
		<link>http://sentidoweb.com/2008/01/11/formatea-codigo-json-online.php</link>
		<comments>http://sentidoweb.com/2008/01/11/formatea-codigo-json-online.php#comments</comments>
		<pubDate>Fri, 11 Jan 2008 17:00:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[json]]></category>
		<category><![CDATA[json utilidades]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2008/01/11/formatea-codigo-json-online.php</guid>
		<description><![CDATA[Suele pasar que el código JSON que generamos para que lo lea el navegador, suele estar falto de formato, por lo cual leerlo para depurarlo suele ser algo complicado. Realmente es buena idea no meterle espacios, saltos de línea o tabuladores para dejarlo &#8220;bonito&#8221;, ya que eso es desperdicio del ancho de banda (hay que [...]]]></description>
			<content:encoded><![CDATA[Suele pasar que el código JSON que generamos para que lo lea el navegador, suele estar falto de formato, por lo cual leerlo para depurarlo suele ser algo complicado. Realmente es buena idea no meterle espacios, saltos de línea o tabuladores para dejarlo &#8220;bonito&#8221;, ya que eso es desperdicio del ancho de banda (hay que ahorrar por todas partes).
<strong>JSON Formatter</strong> es una aplicación online que nos formatea el código JSON que introducimos, añadiendo espacios, tabuladores y saltos de línea para una mejor comprensión.
<img alt="jsonformatter.png" src="http://sentidoweb.com/img/2008/01/jsonformatter.png" width="400" height="267" class="center" />
<a href="http://curiousconcept.com/jsonformatter/">JSON Formatter</a>
Vía / <a href="http://www.dzone.com/links/rss/json_formatter.html">dzone</a>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2008/01/11/formatea-codigo-json-online.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JSONER: librería para JSON</title>
		<link>http://sentidoweb.com/2007/04/26/jsoner-libreria-para-json.php</link>
		<comments>http://sentidoweb.com/2007/04/26/jsoner-libreria-para-json.php#comments</comments>
		<pubDate>Thu, 26 Apr 2007 23:00:00 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[json]]></category>
		<category><![CDATA[json libreria]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2007/04/26/jsoner-libreria-para-json.php</guid>
		<description><![CDATA[JSONER es una librería Javascript para felicitar la creación de aplicaciones Ajax que necesiten de JSON. Nos ofrece diversas funcionalidades para llevar a cabo las tareas necesarias para trabajar con JSON. Entre las utilidades que nos ofrece encontramos: Herramientas genéricas: buscar datos, modificar HTML, comparar objetos JSON, acceder a propiedades. API de eventos: para poder [...]]]></description>
			<content:encoded><![CDATA[<p><strong>JSONER</strong> es una librería Javascript para felicitar la creación de aplicaciones Ajax que necesiten de JSON. Nos ofrece diversas funcionalidades para llevar a cabo las tareas necesarias para trabajar con JSON.</p>
<p>Entre las utilidades que nos ofrece encontramos:</p>
<ul><li><strong>Herramientas genéricas</strong>: buscar datos, modificar HTML, comparar objetos JSON, acceder a propiedades.</li>
<li><strong>API de eventos</strong>: para poder trabajar en estructuras tipo árbol.</li>
<li><strong>Tratamiento como nodos</strong>: como si se tratara de un árbol (XML o parecido), podemos acceder a hijos, tratarlos, modificarlos y otras operaciones.</li>
<li><strong>Búsqueda de datos</strong>: para especificar condiciones en la búsqueda y encontrar objetos en JSON.</li>
<li><strong>Utilidades varias</strong>: clonar árboles JSON, unir árboles JSON, comparar dos modelos JSON, &#8230;</li>
</ul>
<p>Supongo que habría que mirar el rendimiento de la librería o si nos compensa usar esta en vez de usar otra de las habituales, pero aún así, supone una ayuda para nuestros proyectos.</p>
<p><a href="http://www.soft-amis.org/jsoner/index.html">JSONER</a></p>
<p>Vía / <a href="http://www.dzone.com/rsslinks/jsoner_javascript_json_library.html">dzone</a></p>
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2007/04/26/jsoner-libreria-para-json.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Convirtiendo XML a JSON con PHP5 DOM y XSL</title>
		<link>http://sentidoweb.com/2007/01/17/convirtiendo-xml-a-json-con-php5-dom-y-xsl.php</link>
		<comments>http://sentidoweb.com/2007/01/17/convirtiendo-xml-a-json-con-php5-dom-y-xsl.php#comments</comments>
		<pubDate>Thu, 18 Jan 2007 01:22:07 +0000</pubDate>
		<dc:creator>displaynone</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[How to]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[json xml]]></category>
		<category><![CDATA[json xml php]]></category>
		<category><![CDATA[transform xml json]]></category>

		<guid isPermaLink="false">http://sentidoweb.com/2007/01/17/convirtiendo-xml-a-json-con-php5-dom-y-xsl.php</guid>
		<description><![CDATA[JSON es un formato de datos de intercambio de Javascript que el auge de AJAX ha hecho muy popular. En javascript es mucho más cómodo trabajar con JSON frente a XML ya que podemos analizarlo rápidamente utilizando eval(). Cuando queremos trabajar con API´s como las de Amazon, Technorati, del.icio.us o Ficrk v&#237;a REST nos encontramos [...]]]></description>
			<content:encoded><![CDATA[<p><abbr title="JavaScript Object Notation">JSON</abbr> es un formato de datos de intercambio de Javascript que el auge de <abbr title="Asynchronous JavaScript And XML">AJAX</abbr> ha hecho muy popular. En javascript es mucho más cómodo trabajar con JSON frente a XML ya que podemos analizarlo rápidamente utilizando <code>eval()<code>. </p>
<p>Cuando queremos trabajar con API´s como las de <a href="http://www.amazon.com/E-Commerce-Service-AWS-home-page/b/ref=sc_fe_l_2/104-9139505-4630348?ie=UTF8&amp;node=12738641&amp;no=3435361&amp;me=A36L942TSJ2AJA">Amazon</a>, <a href="http;://www.technorati.com/developers/api">Technorati</a>, <a href="http://del.icio.us/help/api">del.icio.us</a> o <a href="http://www.flickr.com/services/api/">Ficrk</a> v&iacute;a REST nos encontramos con que todas ellas devuelven los datos en XML. Gracias a <a href="http://www.php.net">PHP5</a> y utilizando sus extensiones DOM y XSL podemos transformar un documento XML en JSON de forma muy sencilla.
<h3>Veamos un ejemplo de cómo hacer esto con una consulta a la API de Technorati:</h3>
<p>En primer lugar vamos a componer la URL con la que haremos nuestra consulta:
<pre><code>
$technoratiApiKey = "introduceTuAPIdeTechnorati";
$url = "http://api.technorati.com/tag";
$tag = "usabilidad";
$request=$url."?key=".$technoratiApiKey."&#038;tag=".urlencode($tag);
</code></pre>
<p>Y ahora creamos un nuevo objeto DOM y cargamos nuestro el fichero XML que nos devuelve la consulta:
<pre><code>
$inputdom = new DomDocument();
$inputdom->load($request);
</code></pre>
<p>Para transformar los datos utilizaremos un xml2json.xsl, un fichero XSLT que tiene las instrucciones para transformar XML en JSON. Lo cargamos en un nuevo objeto DOM:
<pre><code>
$xslt = "xml2json.xsl";
$xsl = new DomDocument();
$xsl->load($xslt);
</code></pre>
<p>¿Qué nos falta? pues: crear un procesador de XSLT en PHP, cargar nuestra xslt, realizar la transformación y generar el documento:
<pre><code>
$proc = new XsltProcessor();
$xsl = $proc->importStylesheet($xsl);
$newdom = $proc->transformToDoc($inputdom);
print $newdom->saveHTML();
</code></pre>
<p>Próximamente veremos cómo utilizar esta técnica para procesar información de diversas API´s REST mediante AJAX.
]]></content:encoded>
			<wfw:commentRss>http://sentidoweb.com/2007/01/17/convirtiendo-xml-a-json-con-php5-dom-y-xsl.php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

