2013-04-05 18 views
30

ho una lista # C che assomiglia a questo:C# per JSON serializzazione utilizzando JSON.Net

var reqUsers = from user in users 
    select new 
    { 
     username = user.username, 
     firstName = user.firstName, 
     lastName = user.lastName, 
     email = user.email 
    }; 

Io uso il seguente per la conversione/serializzare a JSON (Newtonsoft.JSON):

var json = JsonConvert.SerializeObject(reqUsers); 

Con il codice di cui sopra ottengo una stringa jSON come questo:

[{ username: "alan", firstName: "Alan", lastName: "Johnson", email: "[email protected]" }, 
{ username: "allison", firstName: "Allison", lastName: "House", email: "[email protected]" }, 
{ username: "ryan", firstName: "Ryan", lastName: "Carson", email: "[email protected]" } ] 

però qui è quello che ho bisogno di ottenere: dal momento che sto usando manubrio templatin g -

Come utilizzare il Serializzatore per denominare l'array JSON come sopra?

risposta

67

Usa:

var json = JsonConvert.SerializeObject(new { users = reqUsers }); 
+1

lavorato come un fascino! grazie ... –

+0

Durante l'accesso al joson nel JS ho dovuto usare 'var thejson = @ Html.Raw (json);' per non avere problemi con le virgolette – SeanKPS

1

uso:

var json= new JavaScriptSerializer().Serialize(reqUsers); 
+0

Questo sta usando il namespace System.Web.Script.Serialization invece di Netwonsoft.Json come il poster originale stava usando. È comunque un'opzione valida. – DesertFoxAZ

Problemi correlati