【发布时间】:2026-02-06 20:35:01
【问题描述】:
我有一个要发送到 c# 服务器的 JSON 字符串。它包括一个事件对象数组和一个关系对象数组。关系对象描述数据库表关系。
但是,我无法从服务器上的 JSON 获取数据。当我尝试以下操作时,服务器上不存在要脱轨的对象,并且 JSON.net 会引发解析错误:
// Both throw parse errors
JObject o = JObject.Parse(Request.Form.ToString());
JsonConvert.DeserializeObject<MobileEvents>(Request.Form.ToString());
JSON:
{
"CreateEvents": {
"Event": [
{
"Id": "1",
"Subject": "Hire a Clown"
}
],
"Relationship": [
{
"Primary": "Table1",
"Secondary": "Table2",
"Field": [
{
"Table1Id": "1",
"Table2Id": [
"101"
]
}
]
},
{
"Primary": "Table1",
"Secondary": "Table3",
"Field": [
{
"Table1Id": "1",
"Table3Id": [
"200025"
]
}
]
},
{
"Primary": "Table1",
"Secondary": "Table4",
"Field": [
{
"Table1Id": "1",
"Table4Id": [
"3"
]
}
]
}
]
}
}
【问题讨论】:
-
哪个例外?
The object doesnt exist to deserailize into是什么意思?通常你访问你的.Form中的一个键,比如this.Request.Form["myHiddenFieldNAME"]来获取一个值 -
检查这个 - *.com/questions/10815439/…
-
@Andreas 数据结构是在客户端创建的,它在服务器上不存在(这更有意义吗?)
-
@Kapil 这与我最初尝试的类似,不幸的是我使用的是 .net 3.5 并且没有动态对象
-
@CrimsonChin 啊-服务器上不存在该模型...?好吧,那么您将需要使用 json.net 的动态部分:)(您使用
JObject.Parse...的方法)