Newtonsoft.Json JsonConvert To Datatable [英] Newtonsoft.Json JsonConvert To Datatable

查看:515
本文介绍了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],\\产品名称:[\Chai \,\Chang \,\\Aniseed Syrup \,\\ 主厨安东的Cajun调味料,主厨安东的浓汤混合物,奶奶的博伊恩伯里传播,舅舅鲍勃的有机干梨,诺斯伍兹蔓越莓酱 \\,\\ \\Mishi Kobe Niku,\\Ikura \,Queso Cabrales \,Queso Manchego La Pastora,\\Konbu \,\\ 豆腐,天下手\\,帕特洛娃,爱丽丝羊肉,肉兔等,下午茶时间的巧克力饼干 ,\\ \\罗德尼爵士的马rmalade \,\Sir Rodney's Scones \,\Gustaf'sKnäckebröd\,\Tunnbröd\,\Guaraná¡Aantástica\, \NuNuCaNuâŸNougat-Creme \,\\GumbärGummibärchen\,\Schoggi Schokolade \,\RössleSauerkraut\,\Thüringer Rostbratwurst \,\Nord-Ost Matjeshering \,\\Gorgonzola Telino \,\\Mascarpone Fabioli \,\\Geitost \,\\Sasquatch Ale \ ,\\Steeleye Stout \,\\Inlagd Sill \,\Gravad lax \,\CÃ'tedeBlaye \,\\Chartreuse verte \,\\ 波士顿螃蟹肉,杰克的新英格兰蛤蜊杂烩,新加坡人福建炒饭,Ipoh Coffee,Gula Malacca, \Rogede sild \,\Spegesild \,\Zaanse koeken \,\Chocolade \,\\Maxilaku \,Valkoinen suklaa \ ,\Manjimup干苹果,\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 \,WimmersguteSemmelknödel\,\路易斯安那火热的辣椒酱,\\路易斯安那州热辣的秋葵酒店,\\笑着Lumberjack Lager \,\苏格兰Longbreads \,\Gudbrandsdalsost \,\Outback Lager \,\Flotemysost \ ,\\ \\Mozzarella di Giovanni,\\RödKaviar,\\Longlife Tofu,\\RhönbräuKlosterbier,\\Lakkalikö öri\,\OriginalFrankfurtergröneSoße\]};

dt = JsonConvert.DeserializeObject< DataTable>(data);





如果我在在线json编辑器上运行此数据作为删除`\`char,它正在显示。但是在Visual Studio中,读取DataTable时出现错误,



意外的JSON令牌。预期的StartArray,得到了StartObject。路径'',第1行,第1位。





在最后一个代码位置。



我想,使用Newtonsoft插件将数据转换为DataTable。我怎么解决这个问题?谢谢。

解决方案

你的json必须是一个要转换为DataTable的数组,它必须像这样开始:

[{\\ \\ProductId \ ..........

这样结束:

....,\fieldName \:值}]

I have a code like this,

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);



If I run this data on online json editor as remove `\` char, it's showing. But in Visual Studio, there is an error,

Unexpected JSON token when reading DataTable. Expected StartArray, got StartObject. Path '', line 1, position 1.



on last code place.

I want to, convert data to DataTable using Newtonsoft plugin. How can i solve this problem? Thanks.

解决方案

Your json must be an array to be converted to a DataTable, it must start like this :
"[{\"ProductId\..........
end ends like this:
....,\"fieldName\":Value}]"


这篇关于Newtonsoft.Json JsonConvert To Datatable的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆