Visual Basic Foro
Programación => Visual Basic 6 => Mensaje iniciado por: ssccaann43 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?
-
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 (http://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ú
-
Estimado, ignoro el tema de JSON y no me funciona el code que me expones.
-
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