Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从返回的JSON字符串中删除斜杠和引号_C#_Json_Asp.net Mvc 3_Jsonserializer_Datacontractjsonserializer - Fatal编程技术网

C# 从返回的JSON字符串中删除斜杠和引号

C# 从返回的JSON字符串中删除斜杠和引号,c#,json,asp.net-mvc-3,jsonserializer,datacontractjsonserializer,C#,Json,Asp.net Mvc 3,Jsonserializer,Datacontractjsonserializer,我使用下面的代码将模型类转换为JSON数据 [DataContract] public class EventList { [DataMember(Name = "success")] public int success; [DataMember(Name = "result")] public List<CalendarEvent> Result; } [DataContract] public class CalendarEvent {

我使用下面的代码将模型类转换为JSON数据

[DataContract]
public  class EventList
{
    [DataMember(Name = "success")]
    public int success;
    [DataMember(Name = "result")]
    public List<CalendarEvent> Result;
}
[DataContract]
public class CalendarEvent
{
    [DataMember(Name = "id")] 
    public int Id {get;set; }
    [DataMember(Name = "title")] 
    public string Title { get; set; }
    [DataMember(Name = "url")] 
    public string Url { get; set; }
    [DataMember(Name = "class")]
    public string EventClass { get; set; }//event-warning event-success event-special  event-important  event-inverse
    [DataMember(Name = "start")] 
    public long StartTime { get; set; }
    [DataMember(Name = "end")] 
    public long EndTime { get; set; }
}

  EventList model = new EventList();
//Load data 
    MemoryStream stream1 = new MemoryStream();
    DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(EventList));
    ser.WriteObject(stream1, model);
    stream1.Position = 0;
    StreamReader sr = new StreamReader(stream1);            
    string json_data= sr.ReadToEnd();
那么我怎样才能摆脱前斜杠呢。问题不在于序列化为JSON并显示自定义属性,而在于从响应中删除斜杠

直接返回模型而不是解析的JSON是一种方法,但在我的例子中,CalendarEvent类中有一个属性名“class”,我无法修改它,因为我使用的插件[]要求这样的结构 所以我必须使用JSON序列化
那么,我如何才能消除这个正斜杠和不需要的引号问题呢?

您需要让asp.net-mvc-3使用
DataContractJsonSerializer
,而不是返回字符串。为此,返回一个自定义的
ActionResult
,如下所示:另外,尽管我不建议使用它,但您可以使用名为
class
by的属性,即
public string@class{get;set;}
//"{\"result\":[{\"class\":\"event-warning\",\"