如何从Fiddler中显示的JSON对象中删除转义符

本文关键字:对象 删除 转义 JSON 显示 Fiddler | 更新日期: 2023-09-27 18:20:10

我想将我的C#对象序列化为JSON对象,而不需要包含转义符的最终文本字符串。

下面的方法是通过RESTful设计调用的,并在通过fiddler调用时返回以下JSON对象,但我希望删除反斜杠,这样它只包括双引号,并尊重JSON格式。

"{'"model'":'"Faslev'",'"platform'":'"ABC'",'"year'":2010,'"month'":'"June'", '"plant'":'"ONDH'",'"country'":'"Brazil'"}"

public string GetModelBySerialNumber(string serialNumber)
{
    var model = new Model();
    using (var connection = new SqlConnection(DBUtility.DbConnection))
    {
        try
        {                    
            SqlCommand myProcedure = new SqlCommand("myProcedure", connection);
            myProcedure.CommandType = CommandType.StoredProcedure;
            myProcedure.Parameters.Add("@SerialNumber", SqlDbType.NVarChar).Value = serialNumber;
            connection.Open();
            SqlDataReader dataReader = myProcedure.ExecuteReader();
            while (dataReader.Read())
            {
                Func<int, string> GetString =  (int i) => dataReader.GetString(i);
                Func<int, Int32> GetInteger = (int i) => dataReader.GetInt32(i);
                model.ModelName = GetString(0);
                model.Platform = GetString(1);
                model.Year = GetInteger(2);
                model.Month = GetString(3);
                model.Plant = GetString(4);
                model.Country = GetString(5);                                                
            }                    
        }
        catch (SqlException exception) {Trace.WriteLine("Error Trace " + exception.Message);}
        finally {connection.Close();}
    }
    return JsonConvert.SerializeObject(model);
}

如果我使用串联,就像下面一样,那么对象在没有反斜杠的情况下会正确显示,但我真的不想这样做,因为这似乎是一种过于复杂的写出对象的方法。

public string Ping()
{
    return "{Message" + ":" + "PONG" + "}";
}

"{Message:PONG}"

如何从Fiddler中显示的JSON对象中删除转义符

如果您使用Web API,则不需要调用JsonConvert.SerializeObject()。将方法的返回类型更改为Model类(而不是string),然后简单地返回模型。Web API将为您序列化它。

根据需要更新响应字符串,然后反序列化并返回。

return Request.CreateResponse(HttpStatusCode.OK, JsonConvert.DeserializeObject(corr_str, new JsonSerializerSettings()));