相关疑难解决方法(0)

返回Json,但它包含反斜杠"\",这是我不想要的

我使用MVC4 web-api,c#,并希望使用Json.net返回Json .

问题是它带有"反斜杠".

我还将此代码添加到Global.asax.

GlobalConfiguration.Configuration.Formatters.XmlFormatter.SupportedMediaTypes.Clear();
Run Code Online (Sandbox Code Playgroud)

这是它的回报.

"{\"cid\":1,\"model\":\"WT50JB\",\"detail\":\"sdf??\",\"unit\":2,\"time_in\":\"2012-12-11T19:00:00\",\"time_out\":\"2012-12-12T13:00:06.2774691+07:00\",\"time_used_dd\":0.0,\"time_used_hh\":0.0}"
Run Code Online (Sandbox Code Playgroud)

所以我想看到的是

{"cid":1,"model":"WT50JB","detail":"sdf??","unit":2,"time_in":"2012-12-11T19:00:00","time_out":"2012-12-12T13:08:50.5444555+07:00","time_used_dd":0.0,"time_used_hh":0.0}
Run Code Online (Sandbox Code Playgroud)

这是JsonConvertor

string json = JsonConvert.SerializeObject(myObj);
Run Code Online (Sandbox Code Playgroud)

c# json asp.net-mvc-4 asp.net-web-api

37
推荐指数
4
解决办法
6万
查看次数

序列化动态对象时删除转义符

这个问题可能是重复的,但是我没有找到满意的答案,所以这就是为什么我提出这个问题。

我正在研究动态对象的序列化。当我序列化动态对象时,API将响应返回为

"{\"firstname\":\"prasanthi\",\"lastname\":\"kota\"}"
Run Code Online (Sandbox Code Playgroud)

我不想使用string.ReplaceRegexPattern。还有其他方法吗?

我已经尝试过JavaScriptSerializer,但是它在引号中加上了转义符(\")。这是我的代码:

    dynamic d = new ExpandoObject();
    d.firstname = "prasanthi";
    d.lastname = "kota"; 

   string serialized_info = JsonConvert.SerializeObject(d);
Run Code Online (Sandbox Code Playgroud)

更新:

我在代码的另一部分中使用了serialized_info,我不想在那儿加斜杠。因此,我想先删除斜线。

我累了评论中提到的

dynamic x = new { firstname = "prasanthi", lastname = "kota" }; var serialized_info = JsonConvert.SerializeObject(x,Formatting.Indented);

这正在显示

"{\r\n  \"firstname\": \"prasanthi\",\r\n  \"lastname\": \"kota\"\r\n}"
Run Code Online (Sandbox Code Playgroud)

我认为这不是我的问题的答案。除了string.replace以外,您还能以其他任何方式建议我吗

c# json.net

2
推荐指数
1
解决办法
2840
查看次数

标签 统计

c# ×2

asp.net-mvc-4 ×1

asp.net-web-api ×1

json ×1

json.net ×1