SerializeObject添加unicode c#

时间:2013-02-07 08:21:28

标签: c# json unicode entity

我有一个以JSON格式返回数据库表的WCF服务。 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       

2 个答案:

答案 0 :(得分:2)

  

ResponseFormat = WebMessageFormat.Json

这将是JSON编码带注释的方法的返回值。如果返回值已经是JSON字符串,那么您将进行两次JSON编码..首先是Road对象,然后是前者产生的JSON字符串。

所以只需返回Road对象,让WebMessageFormat.json处理json编码。

答案 1 :(得分:1)

删除json调用中的Formatting.Indented。那应该解决它。