Archivo JSON

Archivo JSON

Postby TOTOVIOTTI » Tue Aug 23, 2016 11:27 am

Hola amigos,
me envían un archivo JSON a una dirección de internet:

'http://xxx.xxx.xxx.xxx/testing/distribuidora/webservice/api/obtenerProductos'

y necesito descargar la info y parsearla para descargarla en mi sistema, estuve leyendo
y probando ejemplos con el hb_JsonDecode, pero no puedo hacerla funcionar con mi
dirección, probablemente me esté faltando información.

Alguien tendrá un ejemplo para construir esta descarga?

Desde ya, muchas gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 387
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Archivo JSON

Postby cmsoft » Tue Aug 23, 2016 12:03 pm

Si puedes descargarlo a tu equipo y despues analizarlo
Code: Select all  Expand view
#include "fivewin.ch"

function Main()
       
   local nRet
   local cFile  := "c:\fwh\temp.txt"
 
   nRet := DOWNLOADFILE( "http://xxx.xxx.xxx.xxx/testing/distribuidora/webservice/api/obtenerProductos/archivo.json", ;
                         cFile  )
    MsgStop( nRet )

RETURN NIL

#pragma BEGINDUMP

#include <Windows.h>
#include <hbapi.h>
#include "hbapiitm.h"
#include "hbstack.h"
#include <hbvm.h>
#include <urlmon.h>
HB_FUNC( DOWNLOADFILE )

{
   HRESULT hr;

   hr = URLDownloadToFile( NULL, hb_parc( 1 ), hb_parc( 2 ), 0, NULL );
 
   hb_retnl( hr ) ;
}

#pragma ENDDUMP

Es una idea nomas... no se si te deja un archivo en ese sitio...
User avatar
cmsoft
 
Posts: 1189
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Archivo JSON

Postby TOTOVIOTTI » Tue Aug 23, 2016 12:15 pm

Gracias! Perfecto!!!!!
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 387
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Archivo JSON (Encode)

Postby TOTOVIOTTI » Wed Aug 24, 2016 7:15 pm

Amigos,
después de decodificar un JSON que me enviaron, debo actualizar info y volverla
a generar en JSON.
Tengo una matriz, que contiene el Código del Artículo, Descripción y Precio Unitario, por ejemplo.
Como hago para volver a generar un archivo JSON para subirlo a una url?
Creo que se usa la función inversa hb_JsonEncode, pero no encuentro material
para ver los parámetros que se usan...
Muchas gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 387
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Archivo JSON

Postby karinha » Wed Aug 24, 2016 7:22 pm

João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7213
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Archivo JSON

Postby TOTOVIOTTI » Wed Aug 24, 2016 7:28 pm

Eso lo usé para descargar el Json, ahora necesito armar un archivo Json... se entiende?
El proceso inverso... subir info de una matriz a un archivo Json.
Gracias!
Roberto
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 387
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Archivo JSON

Postby TOTOVIOTTI » Wed Aug 24, 2016 8:13 pm

Amigos... lo hice medio casero... pero funciona, capaz hay algo un poco más sofisticado...
Por ahí le sirve a alguno:

FUNCTION GENERARJSON()
Local hJson := hash()
local cJson := '{"clientes":['
(bclientes)->(dbgotop())
while !(Bclientes)->(eof())
hJson["Código"] := (bclientes)->codigo
hJson["Razón Social"] := alltrim(hb_OemToAnsi((bclientes)->NOMBRE))
hJson["Dirección"] := alltrim(hb_OemToAnsi((bclientes)->direccion))
hJson["Teléfono"] := alltrim((bclientes)->te)
hJson["C.U.I.T."] := alltrim((bclientes)->cuit)
cJson += hb_JsonEncode( hJson,.f. )
(bclientes)->(dbskip())
IF !(Bclientes)->(eof())
cJson +=","
ENDIF
enddo
cJson+=']}'
MemoWrit( "clientes.json", cJson )
RETURN NIL

Saludos...
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 387
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Archivo JSON

Postby LuisPonce » Fri Aug 26, 2016 12:36 am

Buenas noches

En que libreria está hb_JsonEncode( )

Gracias
Luis Ponce
User avatar
LuisPonce
 
Posts: 192
Joined: Tue Jul 01, 2008 6:34 pm
Location: PERU

Re: Archivo JSON

Postby TOTOVIOTTI » Fri Aug 26, 2016 12:42 pm

Es una función de Harbour...
Saludos
Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.edu.ar
User avatar
TOTOVIOTTI
 
Posts: 387
Joined: Fri Feb 05, 2010 11:30 am
Location: San Francisco - Córdoba - Argentina

Re: Archivo JSON

Postby elmoiquique » Tue Oct 24, 2023 6:40 pm

LuisPonce wrote:Buenas noches

En que libreria está hb_JsonEncode( )

Gracias


Hola

sabes en que libreria esta y desde que version,,, tengo entendido que funciona tanto en Harbour como en Xharbour
Fivewin 11.07
elmoiquique
 
Posts: 297
Joined: Wed May 16, 2007 9:40 pm
Location: Iquique Chile


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 73 guests