Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit c0fa9f0

Browse files
committed
Move IStringSerializer to SS.Text, add adapters for JSON and JSV
1 parent 2cdc158 commit c0fa9f0

8 files changed

+51
-1
lines changed

lib/ServiceStack.Interfaces.dll

512 Bytes
Binary file not shown.
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
using System;
2+
3+
namespace ServiceStack.Text
4+
{
5+
public interface IStringSerializer
6+
{
7+
To DeserializeFromString<To>(string serializedText);
8+
object DeserializeFromString(string serializedText, Type type);
9+
string SerializeToString<TFrom>(TFrom from);
10+
}
11+
}

src/ServiceStack.Text/JsonSerializer.cs

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -219,4 +219,22 @@ public static object DeserializeResponse(Type type, WebResponse webResponse)
219219
}
220220
}
221221
}
222+
223+
public class JsonStringSerializer : IStringSerializer
224+
{
225+
public To DeserializeFromString<To>(string serializedText)
226+
{
227+
return JsonSerializer.DeserializeFromString<To>(serializedText);
228+
}
229+
230+
public object DeserializeFromString(string serializedText, Type type)
231+
{
232+
return JsonSerializer.DeserializeFromString(serializedText, type);
233+
}
234+
235+
public string SerializeToString<TFrom>(TFrom @from)
236+
{
237+
return JsonSerializer.SerializeToString(@from);
238+
}
239+
}
222240
}

src/ServiceStack.Text/ServiceStack.Text.PCL.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343
<Compile Include="Build.Silverlight.cs" />
4444
<Compile Include="CollectionExtensions.cs" />
4545
<Compile Include="Common\DeserializeKeyValuePair.cs" />
46+
<Compile Include="IStringSerializer.cs" />
4647
<Compile Include="Pcl.Dynamic.cs" />
4748
<Compile Include="Common\DateTimeSerializer.cs">
4849
<SubType>Code</SubType>

src/ServiceStack.Text/ServiceStack.Text.SL5.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@
6666
<Compile Include="Build.Silverlight.cs" />
6767
<Compile Include="CollectionExtensions.cs" />
6868
<Compile Include="Common\DeserializeKeyValuePair.cs" />
69+
<Compile Include="IStringSerializer.cs" />
6970
<Compile Include="Pcl.Dynamic.cs" />
7071
<Compile Include="Common\DateTimeSerializer.cs">
7172
<SubType>Code</SubType>

src/ServiceStack.Text/ServiceStack.Text.Signed.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@
103103
<Compile Include="Build.Silverlight.cs" />
104104
<Compile Include="CollectionExtensions.cs" />
105105
<Compile Include="Common\DeserializeKeyValuePair.cs" />
106+
<Compile Include="IStringSerializer.cs" />
106107
<Compile Include="Pcl.Dynamic.cs" />
107108
<Compile Include="Common\DateTimeSerializer.cs">
108109
<SubType>Code</SubType>

src/ServiceStack.Text/ServiceStack.Text.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
<Compile Include="Build.Silverlight.cs" />
9898
<Compile Include="CollectionExtensions.cs" />
9999
<Compile Include="Common\DeserializeKeyValuePair.cs" />
100+
<Compile Include="IStringSerializer.cs" />
100101
<Compile Include="Pcl.Dynamic.cs" />
101102
<Compile Include="Common\DateTimeSerializer.cs">
102103
<SubType>Code</SubType>

src/ServiceStack.Text/TypeSerializer.cs

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,6 +252,23 @@ public static string Dump(this Delegate fn)
252252
var info = "{0} {1}({2})".Fmt(method.ReturnType.Name, methodName, sb);
253253
return info;
254254
}
255-
256255
}
256+
257+
public class JsvStringSerializer : IStringSerializer
258+
{
259+
public To DeserializeFromString<To>(string serializedText)
260+
{
261+
return TypeSerializer.DeserializeFromString<To>(serializedText);
262+
}
263+
264+
public object DeserializeFromString(string serializedText, Type type)
265+
{
266+
return TypeSerializer.DeserializeFromString(serializedText, type);
267+
}
268+
269+
public string SerializeToString<TFrom>(TFrom @from)
270+
{
271+
return TypeSerializer.SerializeToString(@from);
272+
}
273+
}
257274
}

0 commit comments

Comments
 (0)