web-dev-qa-db-fra.com

Convertir un objet en chaîne JSON en C #

Duplicate possible:
Transforme un objet C # en une chaîne JSON dans .NET 4

En Java, j'ai un code à convertir Java en chaîne JSON. Comment faire la même chose en C #? Quelle bibliothèque JSON je dois utiliser?

Merci.

Code Java

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;

public class ReturnData {
    int total;

    List<ExceptionReport> exceptionReportList;  

    public String getJSon(){
        JSONObject json = new JSONObject(); 

        json.put("totalCount", total);

        JSONArray jsonArray = new JSONArray();
        for(ExceptionReport report : exceptionReportList){
            JSONObject jsonTmp = new JSONObject();
            jsonTmp.put("reportId", report.getReportId());      
            jsonTmp.put("message", report.getMessage());            
            jsonArray.add(jsonTmp);         
        }

        json.put("reports", jsonArray);
        return json.toString();
    }
    ...
}
49
user595234

J'ai utilisé Newtonsoft JSON.NET ( Documentation ) Il vous permet de créer une classe/un objet, de renseigner les champs et de sérialiser en tant que JSON.

public class ReturnData 
{
    public int totalCount { get; set; }
    public List<ExceptionReport> reports { get; set; }  
}

public class ExceptionReport
{
    public int reportId { get; set; }
    public string message { get; set; }  
}


string json = JsonConvert.SerializeObject(myReturnData);
97
foson

Utiliser la classe intégrée .net JavaScriptSerializer

  JavaScriptSerializer js = new JavaScriptSerializer();
  string json = js.Serialize(obj);