Asp.net 与.NET中的JSON.NET JsonProperty等效

Asp.net 与.NET中的JSON.NET JsonProperty等效,asp.net,Asp.net,我有一个返回的JSON { "access_token": "", //.... } 我想将其映射到AccessToken而不是access\u token 使用JSON.NET,可以编写 [JsonProperty("access_token")] public string AccessToken{ get; set; } ASP.NET framework中是否有等效的?这里不需要JSON.NET依赖项。您需要使用和DataContract,DataMember,如下所

我有一个返回的JSON

{
    "access_token": "",
    //....
}
我想将其映射到
AccessToken
而不是
access\u token

使用JSON.NET,可以编写

[JsonProperty("access_token")]
public string AccessToken{ get; set; }
ASP.NET framework中是否有等效的?这里不需要JSON.NET依赖项。

您需要使用和DataContract,DataMember,如下所示:

public static class SerializationHelper
{
    /// <summary> Deserializes Json string of type T. </summary>
    public static T DeserializeJsonString<T>(string jsonString)
    {
        T tempObject = default(T);

        using (var memoryStream = new MemoryStream(Encoding.Unicode.GetBytes(jsonString)))
        {
            var serializer = new DataContractJsonSerializer(typeof(T));
            tempObject = (T) serializer.ReadObject(memoryStream);
        }

        return tempObject;
    }
}


[DataContract]
public class DataObject
{
    [DataMember(Name = "user_name")]
    public string UserName { get; set; }

    [DataMember(Name = "access_token")]
    public string AccessToken { get; set; }
}
公共静态类SerializationHelper
{
///反序列化T类型的Json字符串。
公共静态T反序列化jsonString(字符串jsonString)
{
T tempObject=默认值(T);
使用(var memoryStream=newmemorystream(Encoding.Unicode.GetBytes(jsonString)))
{
var serializer=newdatacontractjsonserializer(typeof(T));
tempObject=(T)serializer.ReadObject(memoryStream);
}
返回临时对象;
}
}
[数据合同]
公共类数据对象
{
[DataMember(Name=“user\u Name”)]
公共字符串用户名{get;set;}
[DataMember(Name=“访问令牌”)]
公共字符串AccessToken{get;set;}
}
用法:

var json = "{\"user_name\":\"John Doe\",\"access_token\":\"ABC123\"}";
var data = SerializationHelper.DeserializeJsonString<DataObject>(json);
var json=“{\'user\u name\”:\“John Doe\”,\“access\u token\”:\“ABC123\”;
var data=SerializationHelper.DeserializeJsonString(json);

这可能就是您要找的。JavaScriptConvert答案将允许您将JSON放到自己的自定义对象中。