2011-10-19 25 views
8

De mis observaciones en general JSON es más rápido a Parse que XML. He encontrado dos buenas preguntas con respecto a esto. Se solicita uno para PHP y se solicita otro JavaScript. Quiero saber sobre Python, ¿cómo Python es eficiente con ellos? y que es más eficiente de analizar. También, por favor, ayúdenos a elegir el mejor analizador de Python para XML (por ejemplo, biblioteca xmlparser, lxml o?) Y JSON (simplejson, jsonlib o?).Python - ¿Qué es más rápido para analizar Json o XML?

+3

El tiempo de análisis no suele ser una gran preocupación, con cualquier formato. La legibilidad humana, el tamaño total de los datos (n. ° total de bytes: JSON es generalmente más pequeño), la cantidad de información almacenada (XML probablemente se autodescribe mejor) y la facilidad de uso (una u otra puede ser más fácil de tratar en código), todos tienden a superar el tiempo de análisis. – Thanatos

+1

Este blog dice que es JSON http://codersbuffet.blogspot.com/2010/03/json-vs-xml-and-python-parsing.html –

+0

@Thanatos y ¿qué pasa con la elección del analizador? Básicamente estoy trabajando en una API que da respuestas tanto xml como json. Estoy pensando en lxml para xml prsing y para json analizar con simplejson sería mejor? Los datos están anidados complejos. –

Respuesta

8

En mi opinión, no tiene sentido comparar los tiempos de análisis de XML y JSON. Elegir un formato sobre el otro depende de su caso de uso.

Si solo desea almacenar tipos primitivos como los admite JSON en un formato simple y legible, JSON es el camino a seguir. Si necesita todo el poder y la complejidad de un lenguaje de marcado, use XML. Probablemente no desee inventar un formato de documento basado en JSON.

El cuello de botella con el análisis JSON y XML generalmente no es el análisis en sí, sino la interpretación/representación de los datos. Un analizador XML basado en eventos generalmente es muy rápido, pero construir un árbol DOM complejo de miles de objetos pequeños no lo es. Si necesita analizar XML a estructuras de datos nativas anidadas, como listas y diccionarios, la parte lenta será la interpretación de los resultados del análisis sintáctico, no el análisis de cadena real. Como JSON analiza correctamente esos tipos primitivos en lugar de un árbol de objetos complejo, es probable que sea más rápido.

Cuestiones relacionadas