我试图将一系列json值放入C#DataTable中。我正处于Visual Studio识别json对象的位置,但我收到此错误:
Newtonsoft.Json.JsonSerializationException:'在其他文本中找到 完成反序列化对象后的JSON字符串。'
以下是json数组的示例:
{
"aaData": [
[
1,
"Stop",
"14/03 15:30:03",
"14/03 15:30:58",
0,
"Address",
"Lat, Long",
184,
0,
9,
"False"
],
[
1,
"Stop",
"14/03 15:30:03",
"14/03 15:30:58",
0,
"Address",
"Lat, Long",
184,
0,
9,
"False"
]
]
}
我正在使用此代码:
JToken token = JObject.Parse(responsetext);
string apistatus = token.SelectToken("aaData").ToString();
DataSet table = JsonConvert.DeserializeObject<DataSet>(apistatus);
但是在最后一行是抛出异常。
如果我将字符串apistatus打印到控制台,我可以看到它已经有了数组 - 甚至在VS中使用JSON Visualiser时,数组也被识别 - 但不确定是什么问题。这是控制台中的字符串apistatus:
[
[
1,
"Stop",
"14/03 15:30:03",
"14/03 15:30:58",
0,
"Address",
"Lat, Long",
184,
0,
9,
"False"
],
[
1,
"Stop",
"14/03 15:30:03",
"14/03 15:30:58",
0,
"Address",
"Lat, Long",
184,
0,
9,
"False"
]
]
我做错了什么?或者有更好的方法将这个特定的json数组值放入DataTable中吗?
答案 0 :(得分:0)
我不确定你要做什么。如果要解析json,可以直接使用DeserializeObject
:
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
public class Data
{
public List<List<object>> AaData { get; set; }
}
public class Program
{
public static void Main()
{
var json = ""; // your json here
var m = JsonConvert.DeserializeObject<Data>(json);
Console.WriteLine(m.AaData[0][0]);
Console.WriteLine(m.AaData[1][2]);
}
}