/// <summary> /// Executes given IHttpRequest and returns deserialized response body. /// </summary> /// <typeparam name="TResponse">Type response body will be deserialized to.</typeparam> /// <param name="request">Request to be executed.</param> /// <returns>Response body deserialized to type TResponse.</returns> /// <exception cref="DreamFactoryException">Thrown when there was an error executing request.</exception> internal async Task <TResponse> ExecuteRequest <TResponse>(IHttpRequest request) where TResponse : class, new() { string body = await ExecuteRequest(request); return(ContentSerializer.Deserialize <TResponse>(body)); }
private object ReadMessage(HorseMessage message, Type type) { if (ContentSerializer == null) { ContentSerializer = new NewtonsoftContentSerializer(); } return(ContentSerializer.Deserialize(message, type)); }
Description LoadDemoDescription(string name) { var fileName = Description.ResolveFileName(name); var path = Path.Combine("Content/DemoBlocks", fileName); using (var stream = TitleContainer.OpenStream(path)) { return(descriptionSerializer.Deserialize(stream)); } }
// I/F public Block LoadBlock(string name) { EnsureDirectory(); var blockFileName = Block.ResolveFileName(name); using (var stream = directory.OpenFile(blockFileName, FileMode.Open)) { return(blockSerializer.Deserialize(stream)); } }
/// <inheritdoc /> public async Task <IEnumerable <Resource> > GetResourcesAsync(string serviceName) { IHttpRequest request = new HttpRequest(HttpMethod.Get, address.WithResource(serviceName).Build(), BaseHeaders); IHttpResponse response = await HttpFacade.RequestAsync(request); HttpUtils.ThrowOnBadStatus(response, ContentSerializer); var resources = new { resource = new List <Resource>() }; return(ContentSerializer.Deserialize(response.Body, resources).resource); }
/// <inheritdoc /> public async Task <IEnumerable <Service> > GetServicesAsync() { IHttpRequest request = new HttpRequest(HttpMethod.Get, address.Build(), BaseHeaders); IHttpResponse response = await HttpFacade.RequestAsync(request); HttpUtils.ThrowOnBadStatus(response, ContentSerializer); var services = new { service = new List <Service>() }; return(ContentSerializer.Deserialize(response.Body, services).service); }
public void CanRoundtripSerialisePresentation() { var contentSerializer = new ContentSerializer <PresentationPublishedDataModel>(); var presentation = ModelHelper.GetPublishedPresentationModel(); var json = contentSerializer.Serialize(presentation); var presentationRoundtrip = contentSerializer.Deserialize(json); var jsonRoundtrip = contentSerializer.Serialize(presentationRoundtrip); // Ensure the JSON matches the original serialisation Assert.IsTrue(json.Equals(jsonRoundtrip, StringComparison.Ordinal)); }
//static void DoJsonDemo(Block block) //{ // Console.WriteLine(); // Console.WriteLine("Convert between json and xml:"); // using (var stream = new MemoryStream()) // { // // シリアライズ // blockSerializer.Serialize(stream, block); // var xml = Encoding.UTF8.GetString(stream.ToArray()); // Console.WriteLine("XML:"); // Console.WriteLine(xml); // // XML -> JSON 変換 // stream.Position = 0; // var doc = new XmlDocument(); // var xmlReader = blockSerializer.CreateXmlReader(stream); // doc.Load(xmlReader); // var json = JsonConvert.SerializeXmlNode(doc); // Console.WriteLine("JSON:"); // Console.WriteLine(json); // // JSON -> XML 変換 // stream.Position = 0; // doc = JsonConvert.DeserializeXmlNode(json); // var writerSettings = new XmlWriterSettings // { // Indent = false, // Encoding = Encoding.UTF8, // }; // var writer = XmlWriter.Create(stream, writerSettings); // doc.Save(writer); // xml = Encoding.UTF8.GetString(stream.ToArray()); // Console.WriteLine("XML:"); // Console.WriteLine(xml); // // デシリアライズ // stream.Position = 0; // var deserialized = blockSerializer.Deserialize(stream); // Console.WriteLine("Block:"); // Console.WriteLine(deserialized); // } //} /// <summary> /// Block をシリアライズし、それをデシリアライズします。 /// </summary> /// <param name="block">Block。</param> static void SerializeAndDeserialize(Block block) { using (var stream = new MemoryStream()) { // シリアライズ blockSerializer.Serialize(stream, block); var serialized = Encoding.UTF8.GetString(stream.ToArray()); Console.WriteLine("XML:"); Console.WriteLine(serialized); // デシリアライズ stream.Position = 0; var deserialized = blockSerializer.Deserialize(stream); Console.WriteLine("Block:"); Console.WriteLine(deserialized); } }