Using JSON in .Net

What libraries are available for handling JSON in .Net? I saw this: http://james.newtonking.com/projects/json-net.aspx , but would prefer, if possible, a native library.

+3
source share
3 answers

I used JavaScriptSerializerto expose data structures from a WCF service to Ajax calls, and it was developed pretty well.

+2
source

JavaScriptSerializer marked as deprecated in .NET 3.5 and , but you can use DataContractJsonSerializer.

: . SO , JavaScriptSerializer .NET BCL. , JavaScriptSerializer .NET 3.5 SP1, , , . , WCF JSON.NET( ).

, DataContractJsonSerializer .

using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;

public class JSONHelper
{
    public static string Serialize<T>(T obj)
    {
        DataContractJsonSerializer serializer = 
              new DataContractJsonSerializer(obj.GetType());
        using( MemoryStream ms = new MemoryStream() ) 
        {
            serializer.WriteObject(ms, obj);
            string retVal = Encoding.Default.GetString(ms.ToArray());
            return retVal;
        }
    }

    public static T Deserialize<T>(string json)
    {
        using( MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(json)) )
        {
            DataContractJsonSerializer serializer =
                  new DataContractJsonSerializer(typeof(T));
            T obj = (T)serializer.ReadObject(ms);
            ms.Close();
            return obj;
        }
    }
}

: http://pietschsoft.com/post/2008/02/NET-35-JSON-Serialization-using-the-DataContractJsonSerializer.aspx,

, ( using.NET).

+1

If you can require .Net 3.5, use System.Web.Script.Serialization.JavaScriptSerializer

0
source

Source: https://habr.com/ru/post/1731596/


All Articles