有没有办法处理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应该用这个做什么.
通过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连接弹出窗口没有关闭.据推测,它与此错误有关.
任何有关这方面的见解将不胜感激.
对于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。
我试图在我的.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