我在理解如何实现这一目标时遇到了问题.
基本上我们有一个API,用户发送格式的JSON :(请原谅代码,如果不完美,但你明白)
{"Profile": [{
"Name":"Joe",
"Last :"Doe",
"Client":
{
"ClientId":"1",
"Product":"Apple",
"Message":"Peter likes apples"
},
"Date":"2012-02-14",
}]}
Run Code Online (Sandbox Code Playgroud)
好吧我不确定我是否正确格式化了JSON,但现在这是我的问题.
我有一个名为Profile参数Name,Last和一个对象作为其成员之一的名为Client的属性以及属性Date.
像这样的东西:
public class Profile
{
public string Name {get; set;}
public string Last {get; set;}
public Client client {get; set;}
public DateTime dDate {get; set;}
}
Run Code Online (Sandbox Code Playgroud)
所以基本上,我不知道如何抓住JSON然后将其映射到我的对象.
任何帮助我理解的帮助都会非常感激.
L.B*_*L.B 42
您可以使用Json.NET反序列化您的json字符串(对您的类进行一些修改)
var yourObject = JsonConvert.DeserializeObject<Root>(jsonstring);
public class Root
{
public Profile[] Profile;
}
public class Profile
{
public string Name { get; set; }
public string Last { get; set; }
public Client Client { get; set; }
public DateTime Date { get; set; }
}
public class Client
{
public int ClientId;
public string Product;
public string Message;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用JSON库,例如免费的Newtonsoft.Json.它会自动将json映射到您的类型.
样品:
public static T Deserialize<T>(string json)
{
Newtonsoft.Json.JsonSerializer s = new JsonSerializer();
return s.Deserialize<T>(new JsonTextReader(new StringReader(json)));
}
Run Code Online (Sandbox Code Playgroud)
还有一个NuGet包.
| 归档时间: |
|
| 查看次数: |
45060 次 |
| 最近记录: |