JSON: Diferenzas entre revisións
Contido eliminado Contido engadido
m r2.7.1) (Bot: Modifico: fa:جیسن |
Sen resumo de edición |
||
Liña 1:
{{Wikificar}}
{{Ortografía}}
'''JSON''', acrónimo de ''JavaScript Object Notation'', é un formato lixeiro para o intercambio de datos. JSON é un
A simplicidade de JSON deu lugar á
Na práctica, os argumentos a favor da facilidade de desenvolvemento de analizadores ou do rendemento dos mesmos son pouco relevantes, debido ás cuestións de seguridade que expón o uso de <code>eval()</code> e o auxe do procesamiento nativo de XML incorporado nos navegadores modernos. Por esa razón, JSON emprégase habitualmente en contornas onde o tamaño do fluxo de datos entre cliente e servidor é de vital importancia (de aquí o seu uso por Yahoo, Google, etc, que atenden a millóns de usuarios) cando a fonte de datos é explicitamente de fiar e onde non é importante o non dispor de procesamiento XSLT para manipular os datos no cliente.
Aínda que é frecuente ver JSON situado ''contra'' XML, tamén é frecuente o uso de JSON e XML na mesma aplicación. Por exemplo, unha aplicación de cliente que integra datos de [[Google Maps]] con datos meteorolóxicos en [[SOAP]] fan necesario soportar
Cada vez hai máis soporte de JSON mediante o uso de paquetes escritos por terceiras partes. A lista de linguaxes soportadas inclúe , [[ActionScript]], [[linguaxe de programación C|C]], [[C++]], [[C Sharp|C#]], [[ColdFusion]], [[Common Lisp]], [[Delphi]], [[E programming language|E]], [[Linguaxe de programación Eiffel|Eiffel]], [[Linguaxe de programación Java|Java]], [[JavaScript]], [[ML]], [[Ocaml|Objective CAML]], [[Perl]], [[PHP]], [[Python]], [[Rebol]], [[Ruby]], [[Lua]] e [[Visual FoxPro]].
Liña 22:
</source>
Na práctica, as consideracións de seguridade polo xeral recomendan non usar ''eval'' sobre datos crus e debería usarse un analizador JavaScript distinto para garantir a seguridade. O analizador proporcionado por JSON.org usa <code>eval()</code> na súa función de análise, protexéndoa cunha [[expresión regular]] de forma que a función só ve expresións seguras.
Un exemplo de acceso a datos JSON usando [[XMLHttpRequest]] é:
Liña 48:
</source>
Obsérvese que o uso de XMLHttpRequest neste exemplo non é compatible con
Tamén é posible usar elementos <code><iframe></code> ocultos para solicitar os datos de maneira asíncrona, ou usar peticións <code><form target="url_to_cgi_script" /></code>. Estes métodos
Hai unha [http://ajax.schwarz-interactive.de biblioteca] para o framework .NET que exporta clases .NET coa sintaxe de JSON para a comunicación entre cliente e servidor, en
== Exemplo de JSON ==
Liña 85:
</source>
Aínda que os defensores de JSON a miúdo notan que este é máis abreviado que XML, obsérvese que os dous exemplos teñen uns 190 caracteres cando se eliminan os espazos en branco. Ademais, o uso de compresión GZIP para enviar os datos ao navegador pode reducir a diferenza de tamaños entre
O beneficio de JSON, entón, non é que sexa máis pequeno á hora de transmitir, senón que representa mellor a estrutura dos datos e require menos codificación e procesamiento.
== Comparación con XML e outras linguaxes de marcado ==
XML goza de maior soporte e ofrece moitas máis ferramentas de desenvolvemento (tanto no lado do cliente como no lado do servidor). Hai moitos analizadores JSON no lado do servidor, existindo polo menos un analizador para a maioría das contornas. Nalgunhas linguaxes, como Xava ou PHP, hai diferentes
Con independencia da comparación con XML, JSON pode ser moi compacto e eficiente se se usa de maneira efectiva. Por exemplo, a aplicación [[DHTML]] de procura en [http://barracudaserver.com/examples/barracudadrive/commandline.html#API BarracudaDrive] recibe as listaxes de directorio como JSON
As contornas no servidor normalmente requiren que se incorpore unha función ou obxecto analizador de JSON. Algúns programadores, especialmente os familiarizados coa linguaxe [[C]], atopan JSON máis natural que XML, pero outros
Hai máis comparacións entre JSON e XML nesta [http://www.json.org/example.html páxina de exemplo] (en inglés).
[[YAML]] é un
Liña 116:
;Titoriais
* [http://www.softwaresecretweapons.com/jspwiki/Wiki.jsp?page=AJAXWithoutXML AJAX without XML] Comparación entre XML, JSON e obxetos Javascript (en inglés)
* [http://www.developer.com/lang/jscript/article.php/3596836 Speeding Up AJAX with JSON] Mostra o
* [http://webelop.com.ar/ajax/comunicacion-ajax-php-con-json/ Comunicación AJAX - PHP con JSON] Mostra como obter información en AJAX consultando un arquivo PHP. Ten en conta o problema dos caracteres especiais. (en castelán)
;Implementacións
* [http://search.cpan.org/search?query=JSON&mode=all JSON] Módulos [[Perl]] en [[CPAN]] (en inglés)
* [http://www.curiousconcept.com/jsonformatter/ JSON Formatter], Programa
* [http://www.victorespina.com.ve/wiki/index.php?title=JSON_Parser_Para_VFP qdfoxJSON], Implementación de JSON pra Visual FoxPro 6.0
[[Categoría:Linguaxes de programación]]
|