我是.net的新手,我正在尝试将JSON字符串转换为对象。我写了下面的代码,但它给了我语法错误:
JavaScriptSerializer JSS = new JavaScriptSerializer();
T obj = JSS.Deserialize<T>(String);
它无法识别代码中的T
。请帮忙。
我不想创建任何自定义类。 我可以从json字符串中获取JSON,我可以使用它来查找给定键的值
答案 0 :(得分:1)
您没有在任何地方指定T
。此代码应位于通用类或方法中,其中T
被指定为泛型类型参数。
答案 1 :(得分:1)
按字面意思理解你的代码:
JavaScriptSerializer JSS = new JavaScriptSerializer();
T obj = JSS.Deserialize<T>(String);
String
是一种类型,而不是一种对象。您需要传入要反序列化的变量:
public class Person
{
public int Id { get;set; }
public string Name { get;set; }
}
// Then somewhere else
string json = @"{ ""Id"": 10, ""Name"": ""Jeremy Vines"" }";
JavaScriptSerializer JSS = new JavaScriptSerializer();
Person obj = JSS.Deserialize<Person>(json);
Console.WriteLine("Id: {0}, Name: {1}", obj.Id, obj.Name);
答案 2 :(得分:0)
尝试使用您希望获得的对象类型替换T.如果你不知道,甚至反对。