C#Rest API返回带双引号的字符串

时间:2015-06-12 08:50:58

标签: angularjs rest typescript umbraco7

我有这个愚蠢的问题,我希望有人可以帮助我启发。 我正在为Umbraco7的后台构建一个扩展,因为我需要收到一个简单的字符串。我的问题是从REST api返回的字符串包含双引号然后AngularJS不会模型绑定。这是我的API方法:

<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">"2015-W24"</string>

如果有人可以解释,我如何摆脱这些双引号,我将非常感激:)

结果:

{{1}}

2 个答案:

答案 0 :(得分:0)

使用substring

var foo = '"2015-W24"';
console.log(foo.substring(1, foo.length - 1)); // 2015-W24

答案 1 :(得分:0)

我从@ArghyaC的评论表中找到了另一种方式,而不是@basarat建议的方式。问题是Umbraco的REST控制器建立在asp.net的ControllerApi之上,默认为xml。撇号来自xml序列化。解决方案是简单的强制json作为返回值。我不敢全局改变它,但可以强制一个方法返回JsonResult返回值:

public JsonResult GetWeek()
    {
        var datetime = DateTime.Now;
        var cultureInfo = new CultureInfo("da-DK");
        var calendar = cultureInfo.Calendar;

        var week = calendar.GetWeekOfYear(datetime, cultureInfo.DateTimeFormat.CalendarWeekRule, cultureInfo.DateTimeFormat.FirstDayOfWeek);
        var weekString = datetime.Year + "-W" + week;

        var result = new JsonResult {Data = weekString};
        return result;
    }

这也解决了这个问题,但没有在客户端做任何事情。