Newtonsoft Json.net - comment sérialiser le contenu d'un cours d'eau?
J'ai besoin de convertir en JSON contenu arbitraire d'un flux de mémoire. Voici un exemple rapide de ce que je suis en train de faire:
class Program
{
class TestClass { public int Test1;}
static void Main(string[] args)
{
var ms = new MemoryStream();
var writer = new StreamWriter(ms);
writer.Write(new TestClass());
writer.Flush();
ms.Position = 0;
var json = JsonConvert.SerializeObject(/*???*/, Formatting.Indented);
Console.Write(json);
Console.Read();
}
}
Pas sûr de ce que pour passer à la SerializeObject méthode. Si je passe MemoryStream (variable ms), j'obtiens une erreur:
Une exception non gérée du type
'Newtonsoft.Json.JsonSerializationException' s'est produite dans
Newtonsoft.Json.dllInformations supplémentaires: Erreur lors de l'obtention de la valeur de 'ReadTimeout' sur
'Système.IO.MemoryStream'.
Est-ce possible de sérialiser l'arbitraire du contenu d'un cours d'eau ?
Merci
Vous pourriez sérialiser les
voir cette réponse stackoverflow.com/questions/8157636/...
byte []
retourné par MemoryStream.ToArray()
. Json.NET va sérialiser comme un chaîne encodée en base 64.voir cette réponse stackoverflow.com/questions/8157636/...
OriginalL'auteur user1044169 | 2015-05-19
Vous devez vous connecter pour publier un commentaire.
La sérialisation et la désérialisation contenu d'un MemoryStream peut être réalisé à l'aide d'un convertisseur:
Puis votre code pourrait ressembler à ça (j'ai changé "new Classetest()" à "la chaîne de Test" pour faciliter la comparaison de json de sérialisation et de désérialisation):
Un tel convertisseur peut également être utilisé lorsque le Flux est une propriété d'un objet sérialisé:
OriginalL'auteur Dariusz Wasacz