Ich erhalte ein unregelmäßiges JSON-Array aus der öffentlichen API des Census Bureau. Die Variablennamen sind alle im ersten Element, und ich habe Probleme, es zu deserialisieren.Deserialisieren von JSON-Arrays mit Variablennamen zuerst mit C# Json.NET
http://api.census.gov/data/2014/pep/agesex?get=AGE,POP,SEX&for=us:*&DATE=7
JSON gibt mir wie folgt aus:
[["AGE","POP","SEX","DATE","us"],
["0","3948350","0","7","1"],
["1","3962123","0","7","1"],
["2","3957772","0","7","1"],
["3","4005190","0","7","1"],
["4","4003448","0","7","1"],
["5","4004858","0","7","1"],
["6","4134352","0","7","1"],
["7","4154000","0","7","1"]]
ich erfolgreich diese mit deserialisieren kann:
var test1 = JsonConvert.DeserializeObject<String[][]>(jsonStr);
aber ich versuche es zu einer Klasse wie folgt deserialisieren :
public class TestClass
{
public string AGE { get; set; }
public string POP { get; set; }
public string SEX { get; set; }
public string DATE { get; set; }
public string us { get; set; }
}
Ich versuche, dies zu tun:
var test2 = JsonConvert.DeserializeObject<TestClass[]>(jsonStr);
Aber ich bin die folgende Ausnahme erhalten:
Eine Ausnahme vom Typ 'Newtonsoft.Json.JsonSerializationException' aufgetreten in Newtonsoft.Json. dll wurde aber nicht im Benutzercode behandelt
Weitere Informationen: Listentyp TestClass kann nicht erstellt und ausgefüllt werden. Pfad ‚[0]‘, Zeile 1, Position 2.
Ich bin ziemlich sicher, Sie Ich muss es als ein Array von Arrays deserialisieren und es dann in das gewünschte Format konvertieren. – AndyJ
Hier ist ein Beispiel dafür: https://dotnetfiddle.net/Cr0aRL – AndyJ
@AndyJ deine Geige sieht ganz nett aus. Möchten Sie es hier in eine Antwort umwandeln? – derpirscher