所以我知道可能有其他解决方案。但我的雇主打算使用RestSharp软件包来反序列化并使用JSON数据执行POST请求。我知道数据有效,因为我在API沙箱上玩过它。我在调试时遇到错误的请求错误。这是沙箱中的JSON对象:
MvcHtmlString
这是我在C#中的表示:
{
"stay": {
"checkIn": "2016-06-08",
"checkOut": "2016-06-10",
"shiftDays": "2"
},
"occupancies": [
{
"rooms": 1,
"adults": 2,
"children": 1,
"paxes": [
{
"type": "AD",
"age": 30
},
{
"type": "AD",
"age": 30
},
{
"type": "CH",
"age": 8
}
]
}
],
"geolocation": {
"longitude": 2.646633999999949,
"latitude": 39.57119,
"radius": 20,
"unit": "km"
}
}
我在这里做错了什么?我知道有可能比RestSharp更容易做到这一点,但我被告知这是使用的方法....所以....帮助?
以下是简单MVC应用程序中的总代码:
var body = new TestRequest
{
stay = new Stay
{
checkIn = "2016-06-18",
checkOut = "2016-06-10",
shiftDays = 2
},
occupancies = new Occupancy[]
{
new Occupancy
{
rooms = 1,
adults = 2, children = 1,
paxes = new Pax []
{
new Pax
{
type = "AD",
age = 30
},
new Pax
{
type = "AD",
age = 30
},
new Pax
{
type = "AD",
age = 30
}
}
}
},
geolocation = new Geolocation
{
longitude = 2.646633999999949F,
latitude = 39.57119F,
radius = 20,
unit = "km"
}
};
答案 0 :(得分:0)
在此处弹出您的JSON:json2csharp。我已成功使用它多次验证。错误的请求可能有很多原因 - 您是否在浏览器调试或代码中有堆栈跟踪或错误描述?
您是否已在网站上启用并运行了simple sample?它是一个XML示例,但您可以逐步调整它以达到您需要的位置,并帮助勾选项目工作,例如您的api-key和共享密钥是正确的。有时候这些是长串的,你不小心砍掉了一个角色,或者添加了一个剪切和粘贴的空间。
另外,考虑转储RestSharp并使其正常工作,然后将其移植以保持管理层满意:)
仅供参考 - 您的JSON在json2csharp中呈现以下内容:
public class Stay
{
public string checkIn { get; set; }
public string checkOut { get; set; }
public string shiftDays { get; set; }
}
public class Pax
{
public string type { get; set; }
public int age { get; set; }
}
public class Occupancy
{
public int rooms { get; set; }
public int adults { get; set; }
public int children { get; set; }
public List<Pax> paxes { get; set; }
}
public class Geolocation
{
public double longitude { get; set; }
public double latitude { get; set; }
public int radius { get; set; }
public string unit { get; set; }
}
public class RootObject
{
public Stay stay { get; set; }
public List<Occupancy> occupancies { get; set; }
public Geolocation geolocation { get; set; }
}