Updated ApiInteraction.Metro to use json.net
This commit is contained in:
parent
507beb76f6
commit
94c8332e26
|
@ -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
|
||||||
|
|
|
@ -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.
|
||||||
|
|
Loading…
Reference in New Issue
Block a user