繁体   English   中英

将 RestResponse 反序列化为 JSON 数据

[英]Deserialize RestResponse to JSON data

如何将下面的 Rest 响应反序列化为 JSON 响应我的 rest 响应采用以下格式

{
"new_token":"fdffdsfdsfdsf",
"expires_in":400,
"login_type":"abc"
}

我有一个 POCO 类

public string NewToken { get; set; }
public string ExpiresIn { get; set; }
public string LoginType { get; set; }

如何将其余响应存储到 POCO 类中

您只需要将 JSON 反序列化到您的类中。

假设您的类名为Foo ,只需使用JavaScriptSerializer对象:

Foo result = new JavaScriptSerializer().Deserialize<Foo>(json);

您需要添加对System.Web.Extensions的引用才能访问JavaScriptSerializer

编辑

在对原始 JSON 属性名称映射到漂亮的 .Net 名称进行额外说明之后,假设您的类名为POCO ,我建议使用DataContractJsonSerializer如下:

using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Json;
using System.Text;

[DataContract()]
class POCO
{
    [DataMember(Name = "new_token")]
    public string NewToken { get; set; }

    [DataMember(Name = "expires_in")]
    public string ExpiresIn { get; set; }

    [DataMember(Name = "login_type")]
    public string LoginType { get; set; }
}

class SomeClass
{
    void DoSomething(string json)
    {
        MemoryStream reader;
        POCO output;
        DataContractJsonSerializer serializer;

        reader = new MemoryStream(Encoding.Unicode.GetBytes(json));
        serializer = new DataContractJsonSerializer(typeof(POCO));
        output = serializer.ReadObject(reader) as POCO;
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM