C# 在c语言中反序列化JSON数组#
我开发了返回JSON字符串的服务。 返回字符串如下所示:C# 在c语言中反序列化JSON数组#,c#,json,C#,Json,我开发了返回JSON字符串的服务。 返回字符串如下所示: string result = [{"ID":"1","ProductName":"Canon"},{"ID":"2","ProductName":"HP"}]; 现在我想反序列化上面的JSON字符串 我试过下面的例子,但做不到。获取所有的错误 Dictionary<string, string> data = JsonConvert.DeserializeObject<Dictionary<string, st
string result = [{"ID":"1","ProductName":"Canon"},{"ID":"2","ProductName":"HP"}];
现在我想反序列化上面的JSON字符串
我试过下面的例子,但做不到。获取所有的错误
Dictionary<string, string> data = JsonConvert.DeserializeObject<Dictionary<string, string>>(result);
Dictionary<string, Dictionary<string, string>> data = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, string>>>(result);
string[][] data = JsonConvert.DeserializeObject<string[][]>(result);
var serialize = new JavaScriptSerializer();
string[] resultArray = serialize.Deserialize<string[]>(result);
Dictionary data=JsonConvert.DeserializeObject(结果);
Dictionary data=JsonConvert.DeserializeObject(结果);
字符串[][]数据=JsonConvert.DeserializeObject(结果);
var serialize=新的JavaScriptSerializer();
字符串[]resultArray=serialize.Deserialize(结果);
有人能帮我吗?创建一个类来表示每个元素:
public class TestClass
{
public int ID { get; set; }
public string ProductName { get; set; }
}
将文件反序列化为TestClass[]
然后,如果需要.ToDictionary()的格式,可以使用该格式:
Dictionary<int, string> lookup = deserializedArray.ToDictionary(k => k.Id, v => v.ProductName);
Dictionary lookup=反序列化darray.ToDictionary(k=>k.Id,v=>v.ProductName);
创建一个类来表示每个元素:
public class TestClass
{
public int ID { get; set; }
public string ProductName { get; set; }
}
将文件反序列化为TestClass[]
然后,如果需要.ToDictionary()的格式,可以使用该格式:
Dictionary<int, string> lookup = deserializedArray.ToDictionary(k => k.Id, v => v.ProductName);
Dictionary lookup=反序列化darray.ToDictionary(k=>k.Id,v=>v.ProductName);
例如:
class Program
{
static void Main(string[] args)
{
string json = @"[{""ID"":""1"",""ProductName"":""Canon""},{""ID"":""2"",""ProductName"":""HP""}]";
IEnumerable<Product> result = JsonConvert.DeserializeObject<IEnumerable<Product>>(json);
}
}
class Product
{
public int ID { get; set; }
public string ProductName { get; set; }
}
类程序
{
静态void Main(字符串[]参数)
{
字符串json=@“[{”“ID”“:”“1”“ProductName”“:”“Canon”“},{”“ID”“:”“2”“ProductName”“:”“HP”“}]”;
IEnumerable result=JsonConvert.DeserializeObject(json);
}
}
类产品
{
公共int ID{get;set;}
公共字符串ProductName{get;set;}
}
如果你想要一本字典:
IDictionary<int, string> dict = result.ToDictionary(product => product.ID, product => product.ProductName);
IDictionary dict=result.ToDictionary(product=>product.ID,product=>product.ProductName);
例如:
class Program
{
static void Main(string[] args)
{
string json = @"[{""ID"":""1"",""ProductName"":""Canon""},{""ID"":""2"",""ProductName"":""HP""}]";
IEnumerable<Product> result = JsonConvert.DeserializeObject<IEnumerable<Product>>(json);
}
}
class Product
{
public int ID { get; set; }
public string ProductName { get; set; }
}
类程序
{
静态void Main(字符串[]参数)
{
字符串json=@“[{”“ID”“:”“1”“ProductName”“:”“Canon”“},{”“ID”“:”“2”“ProductName”“:”“HP”“}]”;
IEnumerable result=JsonConvert.DeserializeObject(json);
}
}
类产品
{
公共int ID{get;set;}
公共字符串ProductName{get;set;}
}
如果你想要一本字典:
IDictionary<int, string> dict = result.ToDictionary(product => product.ID, product => product.ProductName);
IDictionary dict=result.ToDictionary(product=>product.ID,product=>product.ProductName);
有两种方法可以实现您想要的功能,即创建具体的类来存储您的值
public class MyJsonValueClass
{
[JsonProperty(PropertyName = "ID")]
public int Productid { get; set; }
[JsonProperty(PropertyName = "ProductName ")]
public string Name { get; set; }
}
List<MyJsonValueClass> jsonData = JsonConvert.DeserializeObject<List<MyJsonValueClass>>(json);
公共类MyJsonValueClass
{
[JsonProperty(PropertyName=“ID”)]
public int Productid{get;set;}
[JsonProperty(PropertyName=“ProductName”)]
公共字符串名称{get;set;}
}
List jsonData=JsonConvert.DeserializeObject(json);
否则,如果不想为字典创建类,则使用字典的列表
列表将获取数据
List<Dictionary<string,string>> dataFromJson = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(json);
List dataFromJson=JsonConvert.DeserializeObject(json);
有两种方法可以实现您想要的功能,即创建具体的类来存储您的值
public class MyJsonValueClass
{
[JsonProperty(PropertyName = "ID")]
public int Productid { get; set; }
[JsonProperty(PropertyName = "ProductName ")]
public string Name { get; set; }
}
List<MyJsonValueClass> jsonData = JsonConvert.DeserializeObject<List<MyJsonValueClass>>(json);
公共类MyJsonValueClass
{
[JsonProperty(PropertyName=“ID”)]
public int Productid{get;set;}
[JsonProperty(PropertyName=“ProductName”)]
公共字符串名称{get;set;}
}
List jsonData=JsonConvert.DeserializeObject(json);
否则,如果不想为字典创建类,则使用字典的列表
列表将获取数据
List<Dictionary<string,string>> dataFromJson = JsonConvert.DeserializeObject<List<Dictionary<string, string>>>(json);
List dataFromJson=JsonConvert.DeserializeObject(json);
尝试创建一个类并将其声明为[JsonObject],然后设置[JsonProperty(“ID”)字符串ID{get;set;}和[JsonProperty(“ProductName”)字符串ProductName{get;set;}尝试创建一个类并将其声明为[JsonObject],然后设置[JsonProperty(“ID”)字符串ID{get set;}和[JsonProperty(“ProductName”)字符串ProductName{get;set;}接近具体类或字典列表
?接近具体类或字典列表
?