[英]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.