将json字符串反序列化为list时,这里面临一些问题
json string:休息服务的结果
“\”{\\ “UNAME \\”:\\ “普拉萨德\\”,\\ “名字\\”:\\ “K \\”,\\ “姓\\”:\\“赛\\ “} \””
我想将此json字符串转换为通用列表
我的列表 :
{公共类_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服务
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
首先你的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进行解析。