FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Sobre JSON. ¿Qué usar?
Buenas,
Les quería consultar a los que tienen experiencia con JSON que clases usan en sus aplicaciones para el tratamiento de estos archivos. Se que si usan Delphi 7 tienen que usar alguna librería de terceros, pero en las últimas versiones Delphi XE8 (que es la que utilizo) y posteriores ya existen units que manejan esto en el lenguaje. Lo que no se es que tan recomendable es utilizar lo que ya tiene el lenguaje en lugar de unas de terceros. He leído en otros post que son del año pasado si mal no recuerdo que recomiendan utilizar SuperObject como librerías, pero el tema es que las mismas las he visto en GitHub y no se actualizan hace varios años. Si fuera el caso que voy por estas no tendría problemas en tomarlas y ver de actualizarlas o hacer una bifurcación. Espero sus comentarios y muchas gracias. Saludos, El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno |
#2
|
||||
|
||||
Buenas.
Yo he tenido recientemente que buscar algo para "descifrar" mensajes JSON y di con esto. No sé exactamente si es lo que buscas pero es una unidad que maneja este tipo de mensajes sin demasiada dificultad. Saludos
__________________
Be water my friend. |
#3
|
|||
|
|||
Buenas Newtron,
Gracias, creo que ese que comentas lo había visto hace muchisimo solo de pasada pero nunca me lo guarde por si lo necesitaba. Podría servirme. Lo que necesito es poder serializar y deserializar archivos JSON, nada mas que eso. Lo único que quiero es que no tenga problemas con estructuras complejas. Por si a alguién le interesa encontré este sitio que se le carga todo el contenido del JSON y genera toda las unit con las clases necesarias para Delphi. Acá dejo la dirección: https://jsontodelphi.com/ Mi pregunta es la siguiente, estás clases tanto la que me pasaste como la que yo comente no se actualizan hace mucho una 2009 y otra 2013. Más allá de actualización por compatibilidad con RADs nuevos que pueda necesitar o por performance, ¿hay algo que diga que se tienen que actulizar por que se actualizó el estandar JSON?. Saludos, El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno |
#4
|
||||
|
||||
El indicado por newtron funciona muy bien, lkjson.
El problema de esas clases que se crean desde sitios online como el que has indicado, es que no son compatibles con delphi 7, que es el que usas, sin con delphis modernos.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Cita:
Yo lo he implementado hace escasamente un mes en un Delphi2007 sin problemas pero te diría que debe de funcionar bien en cualquier delphi. Saludos
__________________
Be water my friend. |
#6
|
|||
|
|||
Yo te recomendaría mORMot. Esta es la parte donde explica el tema de tratamiento de json
Tiene un performance mejor incluso que el que viene integrado en Delphi. Sinó quieres usar o instalar todo el framework usa solo la unidad Syncommons.pas. Compila desde delphi 7 a 10.3 e incluso FPC. La documentación es excelente. Fíjate que fácil es crear un json y parsearlo con una de las diversas formas que tiene de hacerlo: Código:
var V1: variant; begin V1 := _Obj(['name','John','year',1972]); assert(VariantSaveJson(v1)='{"name":"John","year":1972}'); assert(v1.name='John'); .... |
#7
|
||||
|
||||
Yo mismo he usado lkJson bastante en versiones antiguas de delphi que no tenían soporte para JSON y funcionan muy boien.
Y también he visto algo de SuperObject, aunque no tanto y yambién va muy bien. Pero creo que la mejor opción la has dicho tú mismo: Cita:
Si tu versión de delphi lo soporta, yo personalmente no usuaría algo de terceros. Salvo que hubiera alguna razón de peso (si la hay comentala).
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#8
|
|||
|
|||
Yo utilizo estos https://github.com/ahausladen/JsonDataObjects , van muy bien, rápido y una elegante forma de acceder a los valores. Sobre la implementación que viene con Delphi, creo que en las últimas versiones ha mejorado el rendimiento, pero como suele pasarle a Embarcadero lo primero que sacó faltaba mucho por pulir.
|
#9
|
|||
|
|||
Yo uso https://www.winsoft.sk/json.htm y va de p.m. incluso con Delphi 6, 0 problemas y una excelente implementación.
|
#10
|
|||
|
|||
Cita:
|
#11
|
|||
|
|||
Buenas,
Gracias a todos por sus recomendaciones. Ire viendo cada uno y dediciré con cual me quedo. Al parecer no recomiendan usar lo que viene con el lenguaje. Saludos, El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno Última edición por Neftali [Germán.Estévez] fecha: 27-04-2020 a las 18:03:37. |
#12
|
||||
|
||||
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#13
|
|||
|
|||
Neftali, yo creía que no era recomendable usar los que tiene Delphi, ya que los mismos pueden no estar actualizados como indica las especificaciones JSON (esto se puede deber a que se hicieron modificaciones yal no salir versión nueva de Embarcadero estos no estaran actualizados).
Por otro lado pensaba en hacer compatibilidad con proyectos mas viejos que no están migrados a versiones donde tienen JSON nativo, ya que tengo un especie de framework que comprarten. Igual como creo que por el momento no usaran JSON pondre una directiva para identificar desde que versión de Delphi tiene que habilitarse y listo. Otra cosa que quiero comentar es que desde hace un tiempo con la última versión de Firefox empezó el foro a dejar mas espacios de lo normal, aunque entre párrafo y párrafo dejo un solo espacio. Lo comento porque vi que editaste mi anterior comentario. Saludos, El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno |
#14
|
||||
|
||||
Ocurre con cualquier navegador, a ver si encontramos el problema
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#15
|
|||
|
|||
Bueno, sobre usar o no el que viene con el lenguaje, para mi depende (como todo) de para que lo utilices, si el json no es muy grande (no te preocupan los problemas de rendimiento) puede ser una opción. Yo aparte de la performance, me gusta la notación para establecer o modificar valores.
|
#16
|
||||
|
||||
Cita:
Que yo sepa a día de hoy no hay problemas con la implementación de JSON en Delphi. Cita:
Como ha dicho [casimiro], lo tenemos "detectado".
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#17
|
||||
|
||||
Yo también.. Es cierto que en las ultimas versiones han mejorado el soporte. Tan solo de Berlin a Rio, han tenido una muy buena transformación, debido a la evolución que ha tenido RAD Server.
Por mi parte sugiero utilizar helpers como los que vienen con DMVC Framework, que ayuda a la serialización de objetos Delphi, Datasets, y muchas otras estrcutras. Tambien, mORMot tiene sus librerias asociadas. Por el lado de SuperObject, tenía entendido que ya no tenia su soporte original, y ha sido adoptado y ha tenido forks de usuarios en la red. Pero no lo recomendaría... considero que es mejor usar la funcionalidad nativa y ayudarse pro librerias o helpers que tengan buen soporte y buena perspectiva para el futuro. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Dudas sobre como usar SQLite en Firemonkey | aquiestamos | SQL | 3 | 23-02-2012 03:26:40 |
Error Raro al Usar IBX's sobre Firebird 2.0 | AGAG4 | Firebird e Interbase | 17 | 01-10-2008 21:29:39 |
Sugerencia sobre que BD usar | robertosc | Varios | 2 | 12-09-2008 14:59:51 |
consejo sobre que delphi usar?? | UREÑA | Varios | 1 | 23-10-2007 20:13:57 |
duda sobre qué DB usar | mak8888 | Firebird e Interbase | 5 | 20-06-2005 22:22:13 |
|