Ich möchte eine Liste von Benutzereigenschaften in Strings Array (für json Empfänger) wie konvertieren:Wie bekomme ich linq result als String Array?
List<User> users = <..list of users from db...>
var jsonData = (
from user in users
select new { user.Id, user.Person.Lastname, user.Person.Firstname });
return Json(jsonData)
Das Ergebnis ist ein benanntes Array Felder
[{"Id":1,"Lastname":"Doe","Firstname":"John"},{"Id":2,"Lastname":"Smith","Firstname":"Adam"},...]
aber ich würde es sein mag das Array von Arrays von einfachen Zeichenfolgen wie:
[["1","Doe","John"]
["2","Smith","Adam"], ...]
Wie zu Linsets Ergebnis zu Strings Array zu werfen?
danke, beide Ihre Vorschläge funktionieren gut :) Wie auch immer, ich habe versucht, eine solche Strings Array vor, aber mit einigen seltsamen Indexfehler beendet. Gleiches war mit deinem Code, dann erkannte ich, dass meine Datenquelle das IQueryable-Objekt zurückgab, was das Problem war - users.ToList() löste dies. Wie auch immer, Ihre Antwort war hilfreich, um dies zu bekommen. Vielen Dank. – twk
FYI, diese genaue Lösung funktionierte nicht für mich, da ich numerische Typen eingemischt hatte. (Ich habe eine Fehlermeldung erhalten, dass der Compiler den Typ des Arrays nicht bestimmen konnte.) Aber ich habe "new object []" und Das hat mein Problem gelöst. – mpontillo
@Mike: Ja, genau deshalb habe ich '.ToString()' auf 'user.Id' aufgerufen, was ich als Integer angenommen habe. Damit 'new []' funktioniert, sollte der Compiler aus den ihm übergebenen Objekten den Typ des Arrays ableiten können. Wenn ihre Typen nicht kompatibel sind, wird sich der Compiler beschweren. –