Using Arvato.CRM.DataTrans.ConsoleHost.Model;
Using System;
Using System.Collections.Generic;
Using System.IO;
Using System.Linq;
Using System.Runtime.Serialization.Json;
Using System.Text;
Using System.Threading.Tasks;
Using System.Web.Script.Serialization;
Namespace Arvato.CRM.DataTrans.ConsoleHost.Helper
{
public static Class Jsonhelper
{
Convert #region JSON string to an object
<summary>
JSON deserialization method based on company requirements
</summary>
<typeparam name= "T" > Generic instance </typeparam>
<param name= "Jsonstr" >json string </param>
<returns>MainJson<T> Objects </returns>
public static mainjson<t> jsontolist<t> (This string jsonstr)
{
JavaScriptSerializer serializer = new JavaScriptSerializer ();
Serializer.maxjsonlength = 52428800;//The default accept maximum length is 2097152/1024/1024=2MB
Mainjson<t> Objs = serializer.deserialize<mainjson<t>> (JSONSTR);
return OBJS;
}
public static list<t> jsonstringtolist<t> (This string jsonstr)
{
JavaScriptSerializer serializer = new JavaScriptSerializer ();
Serializer.maxjsonlength = 52428800;
List<t> Objs = serializer.deserialize<list<t>> (JSONSTR);
return OBJS;
}
public static T deserialize<t> (string json)
{
T obj = activator.createinstance<t> ();
using (MemoryStream ms = new MemoryStream (Encoding.UTF8.GetBytes (JSON)))
{
System.ServiceModel.Web and System.Runtime.Serialization
DataContractJsonSerializer serializer = new DataContractJsonSerializer (obj. GetType ());
Return (T) serializer. ReadObject (MS);
}
}
#endregion
}
}
Using System;
Using System.Collections.Generic;
Using System.Linq;
Using System.Text;
Using System.Threading.Tasks;
Namespace Arvato.CRM.DataTrans.ConsoleHost.Model
{
<summary>
JSON interface
</summary>
public class Mainjson<t>
{
<summary>
1: Success 0: Failure
</summary>
public int Success {get; set;}
<summary>
Describe
</summary>
public string Message {get; set;}
<summary>
Data body
</summary>
Public body<t> body {get; set;}
}
<summary>
Data body
</summary>
<typeparam name= "T" ></typeparam>
public class Body<t>
{
<summary>
Entity
</summary>
Public list<t> item {get; set;}
<summary>
Indicates the total number of records
</summary>
public int total {get; set;}
}
}
Using System;
Using System.Collections.Generic;
Using System.Linq;
Using System.Text;
Using System.Threading.Tasks;
Namespace Arvato.CRM.DataTrans.ConsoleHost.Model
{
<summary>
City List
</summary>
public class city
{
<summary>
City Code
</summary>
public int? Cityid {get; set;}
<summary>
City Name
</summary>
Public object name {get; set;}
<summary>
Last update timestamp
</summary>
Public DateTime? utime {get; set;}
}
}
When called:
mainjson<city> city_list = jsonhelper.jsontolist<city> (JSONSTR);
Multi-layered JSON strings converted to objects