我有一个 WCF 服务,它以 JSON 格式返回数据库表。 SeralizeObject 将 unicode 添加到我的 httpresponse,我如何删除它?
代码:
using (var db = new newTestDBContext())
{
var query = from b in db.Roads
orderby b.roadID
select b;
Road rr = query.First();
var serializerSettings = new JsonSerializerSettings { PreserveReferencesHandling = PreserveReferencesHandling.Objects };
return JsonConvert.SerializeObject(rr, Formatting.Indented, serializerSettings);
回复:
"{\u000d\u000a \"$id\": \"1\",\u000d\u000a \"roadparts\": [\u000d\u000a {\u000d\u000a \"$id\": \"2\",\u000d\u000a \"Road\": {\u000d\u000a
最佳答案
ResponseFormat = WebMessageFormat.Json
这将对带注释的方法的返回值进行 JSON 编码。如果返回值已经是 JSON 字符串,那么您将进行两次 JSON 编码。首先是 Road
对象,然后是前者生成的 JSON 字符串。
因此,只需返回 Road
对象并让 WebMessageFormat.json
处理 json 编码即可。
关于c# - SerializeObject 添加 unicode c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14746591/