Autor Tema: Cómo enviar un JSON a una web site?  (Leído 4060 veces)

0 Usuarios y 1 Visitante están viendo este tema.

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Cómo enviar un JSON a una web site?
« en: Enero 05, 2015, 04:25:25 pm »
Buenas tardes, tengo una interrogante...

Dispongo de una estructura la cual deseo enviar a un site, por ejemplo este: www.invensoftware.com.ve/json

La estructura json a enviar es:

[
   {
      "usuario_id":18500,
      "producto_id":"A0001",
      "titulo":"Bujias ecosport 2.0",
      "descripcion":"bujis orininales motorcrapt",
      "cantidad":2.5,
      "costo":250.14,
      "precio":450.12,
      "imagen":"ffd8ffe000104a4649460001....",
      "imagen_tumbs":"ffd8ffe000104a4649460001020...."
   }
]

Cómo puedo hacer para enviar esa estructura a ese site?
Miguel Núñez.

Albertomi

  • Gigabyte
  • ****
  • Mensajes: 281
  • Reputación: +153/-0
    • Ver Perfil
Re:Cómo enviar un JSON a una web site?
« Respuesta #1 en: Enero 06, 2015, 03:11:52 am »
Estimado ssccaann43

La estructura que muestras corresponde en JSON a lo que se conoce como un arreglo. Estoy asumiendo que es el registro que quieres insertaren una base de datos.
El código que a continuación ensayo no lo he probado "no estoy seguro si va funcionar" pero es por donde me inclinaría a iniciar la exploración de enviar data en formato JSON. En el mismo código he tratado de brindar una explicación.

=====================================================================
Private Sub EnviarDatos_Click()
  ' Agrega una referencia "Microsoft XML, v6.0" library
  Dim jsonHTTP As New MSXML2.XMLHTTP60
  Dim strUrl As String
  Dim strReq As String
 
  ' La URL de tu servicio JSON
  strUrl = "
www.invensoftware.com.ve/json "
 
  ' Cuerpo del POST request
  strReq = "[" & _
               "{" & _
                  """usuario_id"":18500," & _
                  """producto_id"":""A0001""," & _
                  """titulo"":""Bujias ecosport 2.0""," & _
                  """descripcion"":""bujis orininales motorcrapt""," & _
                  """cantidad"":2.5," & _
                  """costo"":250.14," & _
                  """precio"":450.12," & _
                  """imagen"":""ffd8ffe000104a4649460001....""," & _
                  """imagen_tumbs"":""ffd8ffe000104a4649460001020....""" & _
               "}" & _
            "]"
 
  ' Realizar el request
  With jsonHTTP
    .Open "POST", strUrl, False                                                                                ' Prepara POST request
    .setRequestHeader "Content-Type", "application/jsonrequest; charset=utf-8"    ' Tipo de contenido JSON Request ...
    .setRequestHeader "Accept", "application/jsonrequest"                                      ' Tipo aceptado JSON Request.
    .send strReq                                                                                                        ' Envia el request al servidor
    Debug.Print .responseText & vbCrLf                                                                   ' Imprimir los resultados en la ventana inmediato
  End With
End Sub

=====================================================================
Saludos desde algún lugra de Lima-Perú
 
Saludos, desde algún lugar de Lima-Perú

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Cómo enviar un JSON a una web site?
« Respuesta #2 en: Enero 20, 2015, 02:54:50 pm »
Estimado, ignoro el tema de JSON y no me funciona el code que me expones.
Miguel Núñez.

coco

  • Administrador
  • Terabyte
  • *****
  • Mensajes: 548
  • Reputación: +63/-3
    • Ver Perfil
Re:Cómo enviar un JSON a una web site?
« Respuesta #3 en: Enero 20, 2015, 08:11:50 pm »
Miguel, fijate lo siguiente.
1º, proba borrandole "; charset=utf-8" en la linea .setRequestHeader "Content-Type", "application/jsonrequest; charset=utf-8", ya que a mi me hizo llorar sangre hasta que me di cuenta que el "charset=utf-8" no funciona con servidores en unix/linux/mac.
2º, en tu sitio, como esperas el JSON?
-> si lo lees en un php, tenes varias formas. Con post, podes enviarlo como raw data, o como algun campo de un formulario. Para el primer caso, haces tal cual como dice albertomi, y para el segundo caso, deberias modificar   .send strReq   por   .send "campo=" & strReq 
3º, el JSON que generó albertomi es correcto. El json en realidad es una serializacion de propiedades de objetos, es muy sencillo realmente.

saludos
« última modificación: Enero 20, 2015, 08:14:41 pm por coco »
'-     coco
(No me cabe: Java, Python ni Pascal)
SQLite - PIC 16F y 18F - ARM STM32 - ESP32 - Linux Embebido - VB6 - Electronica - Sonido y Ambientacion