在Java中,我有一个代码将java对象转换为JSON字符串。如何在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();
}
...
}
答案 0 :(得分:95)
我使用过Newtonsoft JSON.NET(Documentation)它允许您创建一个类/对象,填充字段,并序列化为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);
答案 1 :(得分:40)
在内置的课程JavaScriptSerializer
中使用.net JavaScriptSerializer js = new JavaScriptSerializer();
string json = js.Serialize(obj);