Sé que puede deserializar un objeto JSON de un HttpWebResponse
usando el WebClient.DownloadString()
, pero ¿qué pasa al revés? Miré las páginas de MSDN y no sé si puedes serializar objetos JSON o no, ¿alguien lo sabe?¿Cómo usar WebClient para la serialización JSON?
Respuesta
Creo que puede que tenga que serializar el objeto en JSON antes de usar la instancia de WebClient. Espero que esto ayude
var url = "...";
var json = JsonHelper.ToJson(myObject);
var response = PostJson(url, json);
Aquí está un ejemplo de envío de datos JSON de la clase WebClient:
public static string PostJson(string url, string data)
{
var bytes = Encoding.Default.GetBytes(data);
using (var client = new WebClient())
{
client.Headers.Add("Content-Type", "application/json");
var response = client.UploadData(url, "POST", bytes);
return Encoding.Default.GetString(response);
}
}
Aquí es una clase de ayuda sencilla que utiliza la clase DataContractJsonSerializer
para serializar/objeto deserializar desde y hacia JSON.
public static class JsonHelper
{
public static string ToJson<T>(T instance)
{
var serializer = new DataContractJsonSerializer(typeof(T));
using (var tempStream = new MemoryStream())
{
serializer.WriteObject(tempStream, instance);
return Encoding.Default.GetString(tempStream.ToArray());
}
}
public static T FromJson<T>(string json)
{
var serializer = new DataContractJsonSerializer(typeof(T));
using (var tempStream = new MemoryStream(Encoding.Unicode.GetBytes(json)))
{
return (T)serializer.ReadObject(tempStream);
}
}
}
Sí, pero estoy preguntando sobre el objeto WebClient aquí. Estaba tratando de averiguar si es posible, pero no veo nada por ahí hablando de que ese objeto pueda serializar ... solo deserializar. – PositiveGuy
+1 .. Gracias ... Su respuesta me ayudó ... – RajeshKdev
que utilizo:
var json = new JavaScriptSerializer().Serialize(yourObject);
Sería bueno elaborar sobre el voto en voz baja – Guillaume86
- 1. ¿Cómo reutilizar JSON/JAXB de Jersey para la serialización?
- 2. JSON en Android - serialización
- 3. Lista de serialización a JSON
- 4. Subir JSON a través de WebClient
- 5. Reemplazar la serialización JSON predeterminada de WCF
- 6. Cómo excluir la propiedad de la serialización JSON
- 7. Enum serialización JSON vs XML
- 8. Cómo excluir algunos miembros de la serialización a Json?
- 9. ¿Cómo evito la serialización JSON en ASP.NET MVC?
- 10. ASP.NET MVC Controller.Json DateTime serialización JSON vs NewtonSoft DateTime serialización
- 11. Excluir valores vacíos/nulos de la serialización JSON
- 12. ¿Cómo usar jQuery para paginar datos JSON?
- 13. ¿Cómo usar JSON-CPP?
- 14. Jersey + Jackson JSON serialización de formato de fecha - cómo cambiar el formato o usar JacksonJsonProvider personalizado
- 15. Biblioteca Delphi JSON para XE2 disponible para la serialización de objetos
- 16. ¿Cómo usar WebClient dentro de ASP.NET MVC de forma asincrónica?
- 17. Erlang JSON libraries: rendimiento de serialización?
- 18. Serialización y deserialización json con impulso
- 19. Serialización en Java vs JSON vs XML
- 20. Serialización JSON realmente simple en .NET
- 21. serialización JSON de matriz con objetos polimórficos
- 22. Usar NSJSONSerialization para analizar JSON
- 23. JSON: tipos de serialización derivados de IEnumerable
- 24. objetos serialización de JSON con play.api.libs.json
- 25. Ruby on Rails Serialización avanzada de JSON
- 26. Javascript y Java serialización Fecha JSON
- 27. serialización templada de objetos C# a JSON
- 28. ¿Cómo usar la serialización personalizada durante .NET remoto?
- 29. Jackson: Colección de la aduana de serialización de JSON
- 30. ¿Cómo usar JSON con Jquery?
¿Puede dar algunos pseudo código de ejemplo que muestra lo que está tratando de hacer con la clase WebClient? –
Serialize JSON para que pueda enviarlo a través de HttpRequest para el consumo de, digamos, un .ascx o incluso fuera de .NET. Solo quiero saber si es posible, eso es todo. No veo la manera. – PositiveGuy
He actualizado mi respuesta, espero que esto ayude. –