小编Ron*_*nie的帖子

使用Json.Net处理数据中的换行符

有没有办法处理JSON.NET中的换行符.我有一些数据回来了Carriage Return Line Feed,而Json.Net只是在返回值中保留原始数据.有没有办法迫使Json.Net为Json编码.我以为这会发生在默认情况下,但它不会发生在我身上.也许我错过了别的东西.

如果重要的话,我在MVC4 WebApi项目中使用Json.Net.

我的数据以字符串中的\ r \n返回,例如

  "Keywords": "These are my keywords.\r\n\r\n\r\nThis is a second line...\r\n\r\nThis is a third line. ...\r\n\r\n\r\nThis is a 4th line ..."
Run Code Online (Sandbox Code Playgroud)

根据我的理解,那应该是 \\r\\n.这可能是我返回的数据的问题,但我只是想看看JSON.NET应该用这个做什么.

c# newline json.net asp.net-web-api

7
推荐指数
1
解决办法
4956
查看次数

所有.js中的Facebook Connect IE9 Javascript错误

通过javascript库使用Facebook Connect时,我收到以下javascript错误.

SCRIPT5007:无法设置属性'fbCallID'的值:object为null或undefined all.js,第22行字符4141

如果我在脚本中跟踪它,它会出现这段代码.(all.js中的第22行)在弹出功能中,执行此行.

else FB.UIServer.setLoadedNode(b,window.open(b.url,b.id,c));
Run Code Online (Sandbox Code Playgroud)

这个调用SetLoadedNode的第二个参数是window.open.我看到的问题是窗口打开,但传递给setLoadedNode的值为null.因此,对setLoadedNode(a,b)b的调用为null,导致它在b.fbCallID行上失败

,setLoadedNode:function(a,b){
    FB.UIServer._loadedNodes[a.id]=b;
    if(a.params)b.fbCallID=a.id;
}
Run Code Online (Sandbox Code Playgroud)

我的FB.Init看起来如下

FB.init({
    appId:'xxxxxxxxx',
    cookie:true,
    status:true,
    xfbml:true,
    oauth:true
});
Run Code Online (Sandbox Code Playgroud)

如果发生javascript错误,我仍然可以登录.它导致的问题是登录后Facebook连接弹出窗口没有关闭.据推测,它与此错误有关.

任何有关这方面的见解将不胜感激.

javascript facebook internet-explorer-9

6
推荐指数
1
解决办法
5038
查看次数

Wix .NET 4.0框架根目录

对于Wix中的.NET 3.5,我能够使用此[NETFRAMEWORK35INSTALLROOTDIR]获取3.5根目录的路径,因此我可以执行以下操作... [NETFRAMEWORK35INSTALLROOTDIR] \ aspnet_iapi.dll

我正在尝试做类似的事情,但指向.NET 4.0目录。我正在尝试进行通配符映射。这是WIX Web应用程序扩展元素。

<iis:WebApplicationExtension CheckPath="no"
    Script="yes"
    Executable="[NETFRAMEWORK40INSTALLROOTDIR]aspnet_isapi.dll"
    Verbs="GET,HEAD,POST DELETE PUT"/>
Run Code Online (Sandbox Code Playgroud)

问题在于,在IIS 6中,通配符路径始终只是“ aspnet_isapi.dll”,因此显然框架根变量无法正常工作。

我有做错什么吗,还是有另一种方法来可靠地获取.net 4.0根目录?如果有关系,我正在使用WIX 3.5。

installer wix wix3.5

3
推荐指数
1
解决办法
1984
查看次数

WebApi中的条件DataContract序列化

我试图在我的.net WebApi项目中找到有条件地包含和删除我的datacontract序列化属性的最佳方法.在我的Api中,我想允许用户指定他们想要返回的字段.

例如,假设我希望我的API返回以下类的实例.

public class Car
{
    public int Id { get; set; }
    public string Year { get; set; }
    public string Make { get; set; }
    public string Model { get; set; }
    public string Color { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

但是,API调用不是请求整个对象,而只是想要Id和Make字段.所以返回JSON就是

 { "Id": 12345, "Make": "Ford"}
Run Code Online (Sandbox Code Playgroud)

而不是整个对象.

有没有一种方法可以使用DataContract Serializer来有条件地添加和删除返回对象的属性?

**编辑我查看了IgnoreDefault属性,我不相信它会完全符合我的需要.问题是我想根据api请求包含和排除属性,而不一定是它们是否有数据.

有没有办法挂钩反序列化过程并跳过某些属性?我可以做某种定制合同吗?

.net rest serialization datacontractserializer asp.net-web-api

2
推荐指数
1
解决办法
6696
查看次数