
建立@H_419_3@
public class Person{ public string Firstname { get; set; } public string Lastname { get; set; } public DateTime DateOfBirth { get; set; }} Web API@H_419_3@
[httpGet][Route("Person")]public IhttpActionResult GetPerson(){ Person person = new Person { Firstname = "Steve",Lastname = "Rogers",DateOfBirth = new DateTime(1920,7,4) }; return Ok(JsonConvert.SerializeObject(person));} 控制台应用@H_419_3@
using (var clIEnt = new httpClIEnt()){ clIEnt.BaseAddress = new Uri("http://localhost"); var response = clIEnt.GetAsync("API/Person").Result; var data = response.Content.ReadAsstringAsync().Result; var person = DeserializeJson<Person>(data);}public static T DeserializeJson<T>(string input){ var result = JsonConvert.DeserializeObject(input); var result2 = JsonConvert.DeserializeObject(result.ToString()); return JsonConvert.DeserializeObject<T>(result2.ToString());} 值@H_419_3@
data = “\”{\\”Firstname\\”:\\”Steve\\”,\\”Lastname\\”:\\”Rogers\\”,\\”DateOfBirth\\”:\\”1920-07-04T00:00:00\\”}\””@H_419_3@
result = “{\”Firstname\”:\”Steve\”,\”Lastname\”:\”Rogers\”,\”DateOfBirth\”:\”1920-07-04T00:00:00\”}”@H_419_3@
result2 = {{
“Firstname”: “Steve”,
“Lastname”: “Rogers”,
“DateOfBirth”: “1920-07-04T00:00:00”
}}@H_419_3@
我遇到的问题是,在第3次反序列化之前,我无法反序列化为Person对象. result2中的值是我能够成功反序列化为Person的唯一值.有没有更有效的方法来完成这种反序列化?优选地,没有3次迭代.@H_419_3@解决方法 我能够成功运行以下内容(基于 this Microsoft article):
控制台应用:@H_419_3@
static voID Main(string[] args) { RunAsync().Wait(); } static async Task RunAsync() { using (var clIEnt = new httpClIEnt()) { clIEnt.BaseAddress = new Uri("http://localhost:3963/"); clIEnt.DefaultRequestheaders.Accept.Clear(); clIEnt.DefaultRequestheaders.Accept.Add(new MediaTypeWithQualityheaderValue("application/Json")); httpResponseMessage response = await clIEnt.GetAsync("API/Person"); Person product = await response.Content.ReadAsAsync<Person>(); } } 控制器:@H_419_3@
public class PersonController : APIController{ public Person GetPerson() { Person person = new Person { Firstname = "Steve",4) }; return person; }} 总结 以上是内存溢出为你收集整理的c# – 在Console App中反序列化Json全部内容,希望文章能够帮你解决c# – 在Console App中反序列化Json所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)