¿JSON no puede ser deserializado a un objeto, necesita una matriz?
Estoy tratando de tomar los elementos JSON entrantes y vincularlos a los elementos del cuadro de lista, pero Visual Studio me dice que necesito hacer una matriz y no un objeto. Nunca he tenido que hacer esto ... Alguien sabe cómo?
Mi RootObject:
public class RootObject
{
public string url { get; set; }
public string display { get; set; }
public List<string> genetics { get; set; }
public List<string> price { get; set; }
public List<string> brandMaker { get; set; }
public string form { get; set; }
public string dosornos { get; set; }
public string qty { get; set; }
public string mfg { get; set; }
public string mobURI { get; set; }
}
Nota: Genetics, Price, BrandMaker no devuelve nada más que un valor, como a continuación:
"genetics": [
"typeophere"
],
"price": [
"$1400"
],
RESULTADO BÁSICO DE ARCHIVO / SOLICITUD JSON:
[
{
"url": "N/A",
"display": "",
"genetics": [
"microogiz"
],
"price": [
"96.016"
],
"brandMaker": [
"Oshi Kunti Multikashi, Osaka, JP"
],
"form": "tangent",
"dosornos": "n/a",
"qty": "88G",
"mfg": "SelfMade Industries, USA Dist.",
"mobURI": "n/a"
}
]
Mi código original:
// Get JSON via WEB
string ProviderURI = goURI;
webClient webClient = new WebClient();
webClient.DownloadStringCompleted += new
DownloadStringCompletedEventHandler(webClient_DownloadStringCompleted);
webClient.DownloadStringAsync(new Uri(ProviderURI));
void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
{
if (e.Error != null)
{
return;
}
var deserializedJSON = JsonConvert.DeserializeObject<RootObject>(e.Result);
lstBoxResults.ItemsSource = deserializedJSON; // or deserializedJSON.url.ToString();
}