【发布时间】:2015-01-13 21:23:27
【问题描述】:
我有一个 c# 方法,它调用另一个方法,该方法返回一个应该代表 JSON 的字符串。但是,字符串中包含转义字符:
public string GetPerson()
{
string person = repo.GetPerson(); //person is "{\"name\":jack,\"age\":\"54\"...
return person;
}
如果我尝试进行替换,则没有任何变化:
string person = repo.GetPerson().Replace(@"\""", ""); //person still has escape characters
当我在调试时尝试在文本查看器中查看人员时,转义字符不存在——Visual Studio 将它们撕掉。但是我调用此方法的 javascript 确实在 ajax 响应中看到了转义字符。
如果我尝试将 person 字符串反序列化到我的 C# User 对象中,它不会正确反序列化:
User user = JsonConvert.DeserializeObject<User>(person);
我有哪些选择?如何从人员字符串中去除转义字符,或将其正确反序列化为 User 对象?
【问题讨论】:
-
你用什么来序列化和传递 JSON?
标签: javascript c# .net json