- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个用 ServiceStack 创建的服务。最近我更新了 ServiceStack 库,现在我得到的是 JSV 响应而不是 JSON 响应。
该请求类似于:
POST http://localhost/api/rest/poll/create?format=json&PollFormat=1 HTTP/1.1
Host: localhost
Connection: keep-alive
Content-Length: 160
Accept: */*
Origin: http://localhost
X-Requested-With: XMLHttpRequest
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
DNT: 1
Referer: http://localhost
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-US,en;q=0.8
Cookie:
Question=this+is+a+test&Answers=yes%2Cno&
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: application/json; charset=utf-8
Server: Microsoft-IIS/7.5
X-Powered-By: ServiceStack/3.956 Win32NT/.NET
X-AspNet-Version: 4.0.30319
X-Powered-By: ASP.NET
Date: Mon, 12 Aug 2013 21:20:33 GMT
Content-Length: 437
{Id:1,Question:this is a test,Answers:[{Id:1,Text:yes,Votes:0},{Id:2,Text:no,Votes:0}],IsOpen:1,TotalVotes:0}}
[Route("/poll/create", Verbs = "POST")]
public class PollRequest : IReturn<Object>
{
public string Question { get; set; }
public string Answers { get; set; }
public int? PollFormat { get; set; }
}
public class PollService : Service
{
public object Post(PollRequest request)
{
//
// do work required to create new poll
//
Poll p = new Poll();
if(request.PollFormat.HasValue)
{
return JsonSerializer.DeserializeFromString<object>(p.JSON);
}
else
{
return PostConvertor.ConvertTo(p);
}
}
}
public class Poll
{
public int Id { get; set; }
public string Question { get; set; }
public Collection<Answer> Answers { get; set; }
public int IsOpen { get; set; }
public int TotalVotes { get; set; }
public class Answer
{
public int Id { get; set; }
public string Text { get; set; }
public int Votes { get; set; }
}
}
最佳答案
事实证明,我们有一个参数被发送到定义如何返回响应的服务。如果设置了参数,我们将手动生成一个 JSON 字符串(由我编辑的问题中的 p.JSON 属性表示),然后从该字符串返回一个反序列化的对象,如下所示:
return JsonSerializer.DeserializeFromString<object>(p.JSON)
return JsonSerializer.DeserializeFromString<object>(p.JSON)
return p.JSON
关于ServiceStack 返回 JSV 而不是 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18197080/
我有一个用 ServiceStack 创建的服务。最近我更新了 ServiceStack 库,现在我得到的是 JSV 响应而不是 JSON 响应。 该请求类似于: POST http://localh
我有一个在 ServiceStack ORMLite 中生成的现有 SQLite 数据库。它有一个字段,表示 C# 中字典类型的属性。 ServiceStack 将其作为 JSV 序列化到数据库中,这
尽管 JSV 被提升为 JSON 的更快、更紧凑的替代品,但许多平台和数据库不支持它,而 JSON 支持。 如何使ServiceStack ORMLite 序列化和反序列化使用JSON 格式而不是JS
我正在使用 OrmLite,我的一个实体具有 DateTime 和 int 类型字典的属性,但它无法反序列化该属性。我发现这是 Jsv 序列化程序问题。我没有通过测试: [Test] public v
在将 ajax 请求发送到 ServiceStack 服务时,我希望使用 JSV 而不是 JSON 来节省带宽。 我有以下 JSON 数据: [{"201":"New York","022":"Chi
在我坚持使用 OrmLite 的 POCO 对象中,我具有以下属性: .... public Dictionary CustomData { get; set; } ... 这个属性充满了数据,比如:
我是一名优秀的程序员,十分优秀!