Ich kann sehen, dass Ihre json in Zeile # 16 auskommentiert, beginnt mit einem Objekt namens Daten, und der Wert für diesen Schlüssel ist der JSON innerhalb eines Arrays. Und Sie versuchen, innerhalb der "listOfCustomers.data" zu iterieren, aber wenn Sie serialisieren, erstellen Sie einfach ein Customer-Objekt und übergeben dieses als Parameter an die jsonConvert.SerializeObject() - Methode.
Sie müssen eine neue Kundenliste erstellen und das Kundenobjekt in den neu angelegten Kundenlistenschlüssel "Daten" als Liste des Typs Kunde aufnehmen. Danach können Sie versuchen, die neu angelegte Kundenliste zu serialisieren, die aus einer Liste vom Typ Kunde besteht.
Customer customer = new Customer { id = “234234”, name = “Mikael” };
CustomerList customerList = new CustomerList { data = new List<Customer> { customer } };
string outputJSON = JsonConvert.SerializeObject(customerList);
System.IO.File.WriteAllText(outputPath, outputJSON);
Auch ich kann sehen, dass Sie zwei verschiedene Klassen für die Serialisierung und Deserialisierung verwenden wie die Zeile # 23
Statt die JavaScriptSerializer
zu verwenden, die ein Teil des .net-Framework ist, könnten Sie Verwenden Sie einfach die JsonConvert.DeserializeObject
-Methode, da Sie bereits andere Methoden aus der JsonConvert-Klasse verwenden.
CustomerList listOfCustomers = JsonConvert.DeserializeObject<CustomerList>(json);
Hier verwenden wir den JsonConvert.DeserializeObject
-Methode und vorbei in einem Customer-Typ.
Siehe http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it – Kalten