Newtonsoft.Json JsonConvert To Datatable
У меня есть такой код,
DataTable dt = new DataTable(); string data = "{\"ProductId\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77],\"ProductName\":[\"Chai\",\"Chang\",\"Aniseed Syrup\",\"Chef Anton's Cajun Seasoning\",\"Chef Anton's Gumbo Mix\",\"Grandma's Boysenberry Spread\",\"Uncle Bob's Organic Dried Pears\",\"Northwoods Cranberry Sauce\",\"Mishi Kobe Niku\",\"Ikura\",\"Queso Cabrales\",\"Queso Manchego La Pastora\",\"Konbu\",\"Tofu\",\"Genen Shouyu\",\"Pavlova\",\"Alice Mutton\",\"Carnarvon Tigers\",\"Teatime Chocolate Biscuits\",\"Sir Rodney's Marmalade\",\"Sir Rodney's Scones\",\"Gustaf's Knäckebröd\",\"Tunnbröd\",\"Guaraná Fantástica\",\"NuNuCa Nuß-Nougat-Creme\",\"Gumbär Gummibärchen\",\"Schoggi Schokolade\",\"Rössle Sauerkraut\",\"Thüringer Rostbratwurst\",\"Nord-Ost Matjeshering\",\"Gorgonzola Telino\",\"Mascarpone Fabioli\",\"Geitost\",\"Sasquatch Ale\",\"Steeleye Stout\",\"Inlagd Sill\",\"Gravad lax\",\"Côte de Blaye\",\"Chartreuse verte\",\"Boston Crab Meat\",\"Jack's New England Clam Chowder\",\"Singaporean Hokkien Fried Mee\",\"Ipoh Coffee\",\"Gula Malacca\",\"Rogede sild\",\"Spegesild\",\"Zaanse koeken\",\"Chocolade\",\"Maxilaku\",\"Valkoinen suklaa\",\"Manjimup Dried Apples\",\"Filo Mix\",\"Perth Pasties\",\"Tourtière\",\"Pâté chinois\",\"Gnocchi di nonna Alice\",\"Ravioli Angelo\",\"Escargots de Bourgogne\",\"Raclette Courdavault\",\"Camembert Pierrot\",\"Sirop d'érable\",\"Tarte au sucre\",\"Vegie-spread\",\"Wimmers gute Semmelknödel\",\"Louisiana Fiery Hot Pepper Sauce\",\"Louisiana Hot Spiced Okra\",\"Laughing Lumberjack Lager\",\"Scottish Longbreads\",\"Gudbrandsdalsost\",\"Outback Lager\",\"Flotemysost\",\"Mozzarella di Giovanni\",\"Röd Kaviar\",\"Longlife Tofu\",\"Rhönbräu Klosterbier\",\"Lakkalikööri\",\"Original Frankfurter grüne Soße\"]}"; dt = JsonConvert.DeserializeObject<DataTable>(data);
Если я запускаю эти данные в онлайн-редакторе json как remove ` \ ' char,они отображаются. Но в Visual Studio есть ошибка,
Unexpected JSON token when reading DataTable. Expected StartArray, got StartObject. Path '', line 1, position 1.
на последнем кодовом месте.
Я хочу преобразовать данные в DataTable с помощью плагина Newtonsoft. Как я могу решить эту проблему? Спасибо.
Mehdi Gholam
Вы не можете преобразовать вышесказанное в DataTable, попробуйте вместо этого преобразовать в объект или динамический объект или даже в обычный словарь.
Güray Yarar
Если у вас есть время, вы можете вычислить этот код? Я работаю до 2 дней над этим новообращенным. :(
Mehdi Gholam
Используйте этот сайт, чтобы проверить действительность json : http://jsonlint.com/
Güray Yarar
данные действительны, проверьте еще раз. как удалить \ char. Не проблема. Но мне нужны эти данные json, преобразованные в DataTable. Но я не знаю, как я могу написать этот код? Я ищу, я могу сделать вот так. http://www.codeproject.com/Questions/590838/convertplusJSONplusstringplustoplusdatatable я пишу так, но не работаю :(
ChauhanAjay
Попробуйте получить свои данные в этом формате
string data = @ " [{""ProductId"":""1"",""ProductName"": "" чай""},"
+ @"{""ProductId"":""2"",""ProductName"": "" Chang""},"
+ @"{""ProductId"":""3"",""ProductName"": "" Анисовый Сироп""}]";
Надеюсь, это предложение поможет.