在将json字符串反序列化为列表
时,这里面临一些问题json string:restful service的结果
“\”{\\ “UNAME \\”:\\ “普拉萨德\\”,\\ “名字\\”:\\ “K \\”,\\ “姓\\”:\\”赛\\ “} \”“
我希望将此json字符串转换为genric list
我的清单:
公共类_TempUser {
public string UName
{
get;
set;
}
public string LastName
{
get;
set;
}
public string FirstName
{
get;
set;
}
}
错误是
错误转换值“{”UName“:”prasad“,”LastName“:”k“,”FirstName“:”sai“}”键入'System.Collections.Generic.List`1 [loginServices.Login_Service + _TempUser]”。路径'',第1行,第70位。
代码:用于调用restful service
var httpWebRequest =(HttpWebRequest)WebRequest.Create(“http:// IpAddress:Post / Login / RestServiceName.svc / RestMethoName”);
httpWebRequest.ContentType = "text/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
string json =JsonConvert.SerializeObject(Req);
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
string result = streamReader.ReadToEnd();
List<_TempUser> List = new List<_TempUser>();
List = JsonConvert.DeserializeObject<List<_TempUser>>result
}
}
任何修改或建议plz
答案 0 :(得分:0)
首先你的json字符串必须是这样的:
"{\"UName\":\"prasad\",\"LastName\":\"k\",\"FirstName\":\"sai\"}"
不是
"\"{\\"UName\\":\\"prasad\\",\\"LastName\\":\\"k\\",\\"FirstName\\":\\"sai\\"}\""
然后你可以使用:
解析它string entry = "{\"UName\":\"prasad\",\"LastName\":\"k\",\"FirstName\":\"sai\"}";
var parsedObject = JsonConvert.DeserializeObject<JObject>(entry);
foreach (var dataset in parsedObject.Properties())
{
Console.WriteLine(dataset.Name);
}
我正在使用Newtonsoft.Json和Newtonsoft.Json.Linq进行解析。