2017-03-14 48 views
1

我試圖將一系列json值導入到C#DataTable中。我在那裏的Visual Studio識別JSON對象的觀點,但我得到這個錯誤:嘗試將JSON數組導入DataTable C異常#

Newtonsoft.Json.JsonSerializationException: 'Additional text found in JSON string after finishing deserializing object.'

這裏是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

爲什麼使用DataSet而不是C#的對象? – aloisdg

+0

http://stackoverflow.com/questions/39177907/json-object-to-datatable-in-c-sharp?rq=1 – joab

+0

[JSON對象到C#中的Datatable]的可能重複(http://stackoverflow.com/questions/39177907/json-object-to-datatable-in-c-sharp) –

回答

0

我不確定你想要做什麼。如果要分析JSON,你可以直接使用DeserializeObject

Demo

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]); 
    } 
} 
+0

是的,它差不多就是它了。反序列化的JSON現在需要進入DataTable,但不知道如何...? – reviloSlater

+0

有關我如何做到@aloisdg的任何想法? – reviloSlater