我使用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) 这个问题可能是重复的,但是我没有找到满意的答案,所以这就是为什么我提出这个问题。
我正在研究动态对象的序列化。当我序列化动态对象时,API将响应返回为
"{\"firstname\":\"prasanthi\",\"lastname\":\"kota\"}"
Run Code Online (Sandbox Code Playgroud)
我不想使用string.Replace或RegexPattern。还有其他方法吗?
我已经尝试过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以外,您还能以其他任何方式建议我吗