C# Corner
Tech
News
Videos
Forums
Jobs
Books
Events
More
Interviews
Live
Learn
Training
Career
Members
Blogs
Challenges
Certification
Contribute
Article
Blog
Video
Ebook
Interview Question
Collapse
Feed
Dashboard
Wallet
Learn
Achievements
Network
Refer
Rewards
SharpGPT
Premium
Contribute
Article
Blog
Video
Ebook
Interview Question
Register
Login
JsonParser Class in ASP.NET
WhatsApp
Ajeet Mishra
Sep 04
2015
2.6
k
0
0
ClassJsonHelper.zip
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Web;
using
System.Runtime.Serialization.Json;
using
System.IO;
using
System.Text;
using
System.Text.RegularExpressions;
/// <summary>
/// JSON Serialization and Deserialization Class
/// Created By:Ajeet Mishra 04/09/2015
/// </summary>
namespace
JsonParsingSample
{
public
class
ClassJsonHelper
{
/// <summary>
/// JSON Serialization Method
/// </summary>
public
static
string
ToJsonConvertor < T > (T t)
{
DataContractJsonSerializer ser =
new
DataContractJsonSerializer(
typeof
(T));
MemoryStream ms =
new
MemoryStream();
ser.WriteObject(ms, t);
string
jsonString = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
//Replace Json Date String
string
p = @
"\\/Date\((\d+)\+\d+\)\\/"
;
MatchEvaluator matchEvaluator =
new
MatchEvaluator(ConvertJsonDateToDateString);
Regex reg =
new
Regex(p);
jsonString = reg.Replace(jsonString, matchEvaluator);
return
jsonString;
}
/// <summary>
/// JSON Deserialization Method
/// </summary>
public
static
T FromJsonConvertor < T > (
string
jsonString)
{
//Convert "yyyy-MM-dd HH:mm:ss" String as "\/Date(1319266795390+0800)\/"
string
p = @
"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}"
;
MatchEvaluator matchEvaluator =
new
MatchEvaluator(ConvertDateStringToJsonDate);
Regex reg =
new
Regex(p);
jsonString = reg.Replace(jsonString, matchEvaluator);
DataContractJsonSerializer ser =
new
DataContractJsonSerializer(
typeof
(T));
MemoryStream ms =
new
MemoryStream(Encoding.UTF8.GetBytes(jsonString));
T obj = (T) ser.ReadObject(ms);
return
obj;
}
/// <summary>
/// Convert Serialization Time /Date(1319266795390+0530) as String
/// </summary>
private
static
string
ConvertJsonDateToDateString(Match m)
{
string
result =
string
.Empty;
DateTime dt =
new
DateTime(1970, 1, 1);
dt = dt.AddMilliseconds(
long
.Parse(m.Groups[1].Value));
dt = dt.ToLocalTime();
result = dt.ToString(
"yyyy-MM-dd HH:mm:ss"
);
return
result;
}
/// <summary>
/// Convert Date String as Json Time
/// </summary>
private
static
string
ConvertDateStringToJsonDate(Match m)
{
string
result =
string
.Empty;
DateTime dt = DateTime.Parse(m.Groups[0].Value);
dt = dt.ToUniversalTime();
TimeSpan ts = dt - DateTime.Parse(
"1970-01-01"
);
result =
string
.Format(
"\\/Date({0}+0530)\\/"
, ts.TotalMilliseconds);
return
result;
}
}
}
C#
Asp.Net
MVC
Up Next
JsonParser Class in ASP.NET