传入JSON格式如下:
{
"users": [
{
"radio_id": "123582",
"callsign": "ABCD",
"name": "First Last",
"city": "Dortmund",
"state": "Nordrhein-Westfalen",
"country": "Germany",
"home_rptr": "W2VL",
"remarks": "None"
},
{
"radio_id": "789456",
"callsign": "EFG",
"name": "Name Here",
"city": "Dortmund",
"state": "Nordrhein-Westfalen",
"country": "Germany",
"home_rptr": "W2VL",
"remarks": "None"
}
]
}
它来自一个web请求,我捕获到一个名为dataReceived的字符串。然后使用这行代码将其转换为数据表。
DataTable dtData = (DataTable)JsonConvert.DeserializeObject(dataReceived, (typeof(DataTable)));
我得到一个错误:读取DataTable时意外的JSON令牌。期望StartArray,得到StartObject。路径",第一行,位置1.
我怀疑我的问题是数据是在一个数组,但我不知道如何解决这个问题。我的目标是有一个表,每一行是json中的一个"用户"对象。
有谁能给我指个方向吗?var dt = JObject.Parse(json)["users"].ToObject<DataTable>();