将json字符串反序列化为通用列表(将值转换为类型'System.Collections.Generic.List`1 Path'',第1行,位置70时出错

问题描述 投票:-1回答:1

将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

c# json wcf rest generics
1个回答
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进行解析。

© www.soinside.com 2019 - 2024. All rights reserved.