我来自一个node.js javascript无处不在的教养。学习.NET并在强烈的类型方面努力奋斗。转换大型JSON对象的最快方法是什么:
var body = new {
"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"
}
};
可以在Visual Studio中读取的东西吗?
答案 0 :(得分:4)
实际上有一些可能性,但我会为你指出3:
dynamic
,只需反序列化为此数据类型即可。代码如下所示:dynamic json = JsonConvert.DeserializeObject(yourJsonAsText);
。如果这样做,您可以以编程方式访问反序列化实例中的所有内容但 ...
但是,您需要为上述3个解决方案安装Netwonsoft.Json包。如果您需要没有第三方组件/包的方式,您可以查看以下答案:
它们展示了.NET框架本身提供的一些方法。
答案 1 :(得分:0)
如果您尚未使用
,请安装https://www.nuget.org/packages/Newtonsoft.Json/JsonConvert.DeserializeObject<YourType>(string)
其他选项,如果你使用asp.net,你可以做的是创建WebApi或MVc动作,输入参数将是你发送的类型,.net将为你反序列化
public void ActionName(YourType type){
}
答案 2 :(得分:0)
您可以尝试使用Jayrock或Json.NET
为您转换数据的库https://atifaziz.github.io/projects/jayrock/或http://www.newtonsoft.com/json
这些会将您的对象转换为没有特定类型的对象。