我的传入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行,第1位。
我怀疑我的问题是数据在数组中,但我不知道如何解决这个问题。我的目标是在json中有一个表,每行包含一个“users”对象。
有人能把我推向正确的方向吗?
答案 0 :(得分:2)
var dt = JObject.Parse(json)["users"].ToObject<DataTable>();
就是这样。