ERRO AO PREENCHER LIST<>
ola Pessoal tenho a seguinte classe
public class ProdBusca
{
public Selleritem[] sellerItems { get; set; }
public Metadata[] metadata { get; set; }
}
public class Selleritem
{
public string skuSellerId { get; set; }
public string skuSiteId { get; set; }
public string title { get; set; }
public string brand { get; set; }
public string[] gtin { get; set; }
public Status[] status { get; set; }
public Price[] prices { get; set; }
public Stock[] stocks { get; set; }
public Url[] urls { get; set; }
public Image[] images { get; set; }
public Product product { get; set; }
public Dimensions dimensions { get; set; }
public Giftwrap giftWrap { get; set; }
public Attribute[] attributes { get; set; }
}
public class Product
{
public string id { get; set; }
public string href { get; set; }
}
public class Dimensions
{
public int weight { get; set; }
public int length { get; set; }
public int width { get; set; }
public int height { get; set; }
}
public class Giftwrap
{
public bool available { get; set; }
public int value { get; set; }
public bool messageSupport { get; set; }
}
public class Status
{
public bool active { get; set; }
public string site { get; set; }
}
public class Price
{
public int _default { get; set; }
public int offer { get; set; }
public string site { get; set; }
}
public class Stock
{
public int quantity { get; set; }
public int reserved { get; set; }
public int crossDockingTime { get; set; }
public int warehouse { get; set; }
}
public class Url
{
public string id { get; set; }
public string href { get; set; }
public string site { get; set; }
}
public class Image
{
public string type { get; set; }
public bool main { get; set; }
public string url { get; set; }
}
public class Attribute
{
public string name { get; set; }
public string value { get; set; }
}
public class Metadata
{
public string key { get; set; }
public string value { get; set; }
}
que esta numa cs chamada Produto_Busca.cs estou tentando deseralizar ela assim criando uma lista
List<ProdBusca> Produtos = new JavaScriptSerializer().Deserialize<List<ProdBusca>>(dados);
um pedaco do retorno é
{[Ô]sellerItems[Ô]:[{[Ô]skuSellerId[Ô]:[Ô]34305[Ô],[Ô]skuId[Ô]:[Ô]25411892[Ô],[Ô]skuSiteId[Ô]:[Ô]7639933[Ô],[Ô]title[Ô]:[Ô]Esmeril Reto 6\[Ô] 1800W - DW882 - DeWalt[Ô],[Ô]brand[Ô]:[Ô]DEWALT[Ô],[Ô]gtin[Ô]:[[Ô]5011402298792[Ô]],[Ô]status[Ô]:[{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]EX[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]CB[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]PF[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]CD[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]HP[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]LA[Ô]}],[Ô]prices[Ô]:[{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]EX[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]CB[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]PF[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]CD[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]BT[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]HP[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]LA[Ô],[Ô]default[Ô]:2700.0}],[Ô]stocks[Ô]:[{[Ô]quantity[Ô]:1,[Ô]reserved[Ô]:0,[Ô]crossDockingTime[Ô]:2,[Ô]warehouse[Ô]:9874}],[Ô]urls[Ô]:[{[Ô]href[Ô]:[Ô]http://produto.extra.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]EX[Ô]},{[Ô]href[Ô]:[Ô]http://produto.casasbahia.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]CB[Ô]},{[Ô]href[Ô]:[Ô]http://produto.pontofrio.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]PF[Ô]},{[Ô]href[Ô]:[Ô]http://produto.cdiscount.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]CD[Ô]},{[Ô]href[Ô]:[Ô]http://produto.lojahp.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]HP[Ô]},{[Ô]href[Ô]:[Ô]http://produto.lojaabril.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]LA[Ô]}],[Ô]images[Ô]:[{[Ô]type[Ô]:[Ô]SRCP[Ô],[Ô]main[Ô]:true,[Ô]url[Ô]:[Ô]https://is.n-img.net.br/ckout/ncmp/http://is.n-img.net.br/img-v2/images/skus/59d11ee7-3539-4652-a0b4-f2b734228779.jpg?w=0&h=0[Ô],[Ô]id[Ô]:[Ô]74011446[Ô]},{[Ô]type[Ô]:[Ô]ggP[Ô],[Ô]main[Ô]:true,[Ô]url[Ô]:[Ô]https://is.n-img.net.br/ckout/ncmp/http://is.n-img.net.br/img-v2/images/skus/59d11ee7-3539-4652-a0b4-f
quando executo ele apenas nao me traz nada
Obrigado
public class ProdBusca
{
public Selleritem[] sellerItems { get; set; }
public Metadata[] metadata { get; set; }
}
public class Selleritem
{
public string skuSellerId { get; set; }
public string skuSiteId { get; set; }
public string title { get; set; }
public string brand { get; set; }
public string[] gtin { get; set; }
public Status[] status { get; set; }
public Price[] prices { get; set; }
public Stock[] stocks { get; set; }
public Url[] urls { get; set; }
public Image[] images { get; set; }
public Product product { get; set; }
public Dimensions dimensions { get; set; }
public Giftwrap giftWrap { get; set; }
public Attribute[] attributes { get; set; }
}
public class Product
{
public string id { get; set; }
public string href { get; set; }
}
public class Dimensions
{
public int weight { get; set; }
public int length { get; set; }
public int width { get; set; }
public int height { get; set; }
}
public class Giftwrap
{
public bool available { get; set; }
public int value { get; set; }
public bool messageSupport { get; set; }
}
public class Status
{
public bool active { get; set; }
public string site { get; set; }
}
public class Price
{
public int _default { get; set; }
public int offer { get; set; }
public string site { get; set; }
}
public class Stock
{
public int quantity { get; set; }
public int reserved { get; set; }
public int crossDockingTime { get; set; }
public int warehouse { get; set; }
}
public class Url
{
public string id { get; set; }
public string href { get; set; }
public string site { get; set; }
}
public class Image
{
public string type { get; set; }
public bool main { get; set; }
public string url { get; set; }
}
public class Attribute
{
public string name { get; set; }
public string value { get; set; }
}
public class Metadata
{
public string key { get; set; }
public string value { get; set; }
}
que esta numa cs chamada Produto_Busca.cs estou tentando deseralizar ela assim criando uma lista
List<ProdBusca> Produtos = new JavaScriptSerializer().Deserialize<List<ProdBusca>>(dados);
um pedaco do retorno é
{[Ô]sellerItems[Ô]:[{[Ô]skuSellerId[Ô]:[Ô]34305[Ô],[Ô]skuId[Ô]:[Ô]25411892[Ô],[Ô]skuSiteId[Ô]:[Ô]7639933[Ô],[Ô]title[Ô]:[Ô]Esmeril Reto 6\[Ô] 1800W - DW882 - DeWalt[Ô],[Ô]brand[Ô]:[Ô]DEWALT[Ô],[Ô]gtin[Ô]:[[Ô]5011402298792[Ô]],[Ô]status[Ô]:[{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]EX[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]CB[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]PF[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]CD[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]HP[Ô]},{[Ô]active[Ô]:true,[Ô]site[Ô]:[Ô]LA[Ô]}],[Ô]prices[Ô]:[{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]EX[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]CB[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]PF[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]CD[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]BT[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]HP[Ô],[Ô]default[Ô]:2700.0},{[Ô]offer[Ô]:2390.0,[Ô]site[Ô]:[Ô]LA[Ô],[Ô]default[Ô]:2700.0}],[Ô]stocks[Ô]:[{[Ô]quantity[Ô]:1,[Ô]reserved[Ô]:0,[Ô]crossDockingTime[Ô]:2,[Ô]warehouse[Ô]:9874}],[Ô]urls[Ô]:[{[Ô]href[Ô]:[Ô]http://produto.extra.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]EX[Ô]},{[Ô]href[Ô]:[Ô]http://produto.casasbahia.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]CB[Ô]},{[Ô]href[Ô]:[Ô]http://produto.pontofrio.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]PF[Ô]},{[Ô]href[Ô]:[Ô]http://produto.cdiscount.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]CD[Ô]},{[Ô]href[Ô]:[Ô]http://produto.lojahp.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]HP[Ô]},{[Ô]href[Ô]:[Ô]http://produto.lojaabril.com.br/7639933[Ô],[Ô]id[Ô]:[Ô]7639933[Ô],[Ô]site[Ô]:[Ô]LA[Ô]}],[Ô]images[Ô]:[{[Ô]type[Ô]:[Ô]SRCP[Ô],[Ô]main[Ô]:true,[Ô]url[Ô]:[Ô]https://is.n-img.net.br/ckout/ncmp/http://is.n-img.net.br/img-v2/images/skus/59d11ee7-3539-4652-a0b4-f2b734228779.jpg?w=0&h=0[Ô],[Ô]id[Ô]:[Ô]74011446[Ô]},{[Ô]type[Ô]:[Ô]ggP[Ô],[Ô]main[Ô]:true,[Ô]url[Ô]:[Ô]https://is.n-img.net.br/ckout/ncmp/http://is.n-img.net.br/img-v2/images/skus/59d11ee7-3539-4652-a0b4-f
quando executo ele apenas nao me traz nada
Obrigado
Você não vai desserializar para uma lista de ProdBusca, você vai desserializar para um objeto ProdBusca. Este objeto contêm uma array de SellerItem, que é a lista de produtos em si. Então após desserializar você pode consultar produtos individuais ou como um todo.
como faco isto porque eu cahei que isto ja resolvia
List<ProdBusca> Produtos = new JavaScriptSerializer().Deserialize<List<ProdBusca>>(dados);
como devo fazer entao
List<ProdBusca> Produtos = new JavaScriptSerializer().Deserialize<List<ProdBusca>>(dados);
como devo fazer entao
ProdBusca Produtos = new JavaScriptSerializer().Deserialize<ProdBusca>(dados);
Colocando os produtos em um DataGridView:
dataGridView1.DataSource = Produtos.sellerItems;
Buscando um produto individual por código:
MessageBox.Show(Produtos.sellerItems.ToList().FirstOrDefault(p => p.skuSellerId == 9).title;
Achei que isso tudo estava bem claro com o exemplo que te mandei em uma thread anterior.
para correr ele uma lista posso usar um explo seus ne
mais é o seguinte eu tenho mais de 200 itens neste retorno e ele no traz 99 porque
Não entendi. Tente ser mais claro...
a minha sessao dados tem mais de 100 registros
quando executo ProdBusca Produtos = new JavaScriptSerializer().Deserialize<ProdBusca>(dados);
ele me mostra somente 99 item conforme imaguem em anexo
quando executo ProdBusca Produtos = new JavaScriptSerializer().Deserialize<ProdBusca>(dados);
ele me mostra somente 99 item conforme imaguem em anexo
Existe um Ãtem 0?
Porque estou vendo perfeitamente a contagem dos Ãtens mostrando 100 Ãtens...
Porque estou vendo perfeitamente a contagem dos Ãtens mostrando 100 Ãtens...
sim exite o 0 mais este json tem 160 itens e so mostra 100 este é o problema
Coloque o JSON aqui pra eu ver.
Tópico encerrado , respostas não são mais permitidas