Updated ApiInteraction.Metro to use json.net

This commit is contained in:
LukePulverenti Luke Pulverenti luke pulverenti 2012-09-06 10:44:45 -04:00
parent 507beb76f6
commit 94c8332e26
2 changed files with 20 additions and 11 deletions

View File

@ -1,7 +1,7 @@
using System; using System;
using System.IO; using System.IO;
using Newtonsoft.Json;
using ProtoBuf; using ProtoBuf;
using ServiceStack.Text;
namespace MediaBrowser.ApiInteraction namespace MediaBrowser.ApiInteraction
{ {
@ -15,10 +15,16 @@ namespace MediaBrowser.ApiInteraction
} }
if (format == ApiInteraction.SerializationFormats.Jsv) if (format == ApiInteraction.SerializationFormats.Jsv)
{ {
return TypeSerializer.DeserializeFromStream<T>(stream); throw new NotImplementedException();
} }
return JsonSerializer.DeserializeFromStream<T>(stream); using (StreamReader streamReader = new StreamReader(stream))
{
using (JsonReader jsonReader = new JsonTextReader(streamReader))
{
return JsonSerializer.Create(new JsonSerializerSettings()).Deserialize<T>(jsonReader);
}
}
} }
public static object DeserializeFromStream(Stream stream, SerializationFormats format, Type type) public static object DeserializeFromStream(Stream stream, SerializationFormats format, Type type)
@ -29,17 +35,20 @@ namespace MediaBrowser.ApiInteraction
} }
if (format == ApiInteraction.SerializationFormats.Jsv) if (format == ApiInteraction.SerializationFormats.Jsv)
{ {
return TypeSerializer.DeserializeFromStream(type, stream); throw new NotImplementedException();
} }
return JsonSerializer.DeserializeFromStream(type, stream); using (StreamReader streamReader = new StreamReader(stream))
{
using (JsonReader jsonReader = new JsonTextReader(streamReader))
{
return JsonSerializer.Create(new JsonSerializerSettings()).Deserialize(jsonReader, type);
}
}
} }
public static void Configure() public static void Configure()
{ {
JsConfig.DateHandler = ServiceStack.Text.JsonDateHandler.ISO8601;
JsConfig.ExcludeTypeInfo = true;
JsConfig.IncludeNullValues = false;
} }
public static bool CanDeSerializeJsv public static bool CanDeSerializeJsv

View File

@ -49,12 +49,12 @@
<Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Reference Include="Newtonsoft.Json">
<HintPath>..\Json.Net\Portable\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="protobuf-net"> <Reference Include="protobuf-net">
<HintPath>..\protobuf-net\Full\portable\protobuf-net.dll</HintPath> <HintPath>..\protobuf-net\Full\portable\protobuf-net.dll</HintPath>
</Reference> </Reference>
<Reference Include="ServiceStack.Text.WP">
<HintPath>..\packages\ServiceStack.Text.3.9.5\lib\sl4-windowsphone71\ServiceStack.Text.WP.dll</HintPath>
</Reference>
</ItemGroup> </ItemGroup>
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it. <!-- To modify your build process, add your task inside one of the targets below and uncomment it.