在C#中将对象转换为JSONstring

可能重复:
在.NET 4中将C#对象转换为JSONstring

在Java中,我有一个代码将Java对象转换为JSONstring。 在C#中如何做类似? 我应该使用哪个JSON库?

谢谢。

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(); } ... } 

我已经使用Newtonsoft JSON.NET ( 文档 )它允许您创build一个类/对象,填充字段,并序列化为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); 

使用.net内置的类JavaScriptSerializer

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