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();
}
...
}
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);
Utiliser la classe intégrée .net JavaScriptSerializer
JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(obj);