Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将Json对象转换为DataTable_C#_Datatable_Json.net_Deserialization_Json Deserialization - Fatal编程技术网

C# 将Json对象转换为DataTable

C# 将Json对象转换为DataTable,c#,datatable,json.net,deserialization,json-deserialization,C#,Datatable,Json.net,Deserialization,Json Deserialization,在这里和其他论坛的一些帖子中,我发现了将Json对象转换为DataTable的代码: DataTable dt = (DataTable)JsonConvert.DeserializeObject(json, (typeof(DataTable))); 我不能让它工作。它总是抛出JsonSerializationException。我错过什么了吗 这是显示错误的简单示例: JObject query = new JObject(); JObject results = new JObjec

在这里和其他论坛的一些帖子中,我发现了将Json对象转换为DataTable的代码:

DataTable dt = (DataTable)JsonConvert.DeserializeObject(json, (typeof(DataTable)));  
我不能让它工作。它总是抛出JsonSerializationException。我错过什么了吗

这是显示错误的简单示例:

JObject query = new JObject();
JObject results = new JObject();

results.Add("Name", "Blue Umbrella");
results.Add("Price", 100);

query.Add("results", results);

DataTable dt = (DataTable)JsonConvert.DeserializeObject(query.ToString(), (typeof(DataTable)));
我做错了什么?

使用类似于:

JArray array = new JArray();

{
    JObject row = new JObject();

    row.Add("Name", "Blue Umbrella");
    row.Add("Price", 100);

    array.Add(row);
}

{
    JObject row = new JObject();

    row.Add("Name", "Green Umbrella");
    row.Add("Price", 200);

    array.Add(row);
}

DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
看看它的格式:

[{"Name":"Blue Umbrella","Price":"100"},{"Name":"Green Umbrella","Price":"200"}]
使用类似于:

JArray array = new JArray();

{
    JObject row = new JObject();

    row.Add("Name", "Blue Umbrella");
    row.Add("Price", 100);

    array.Add(row);
}

{
    JObject row = new JObject();

    row.Add("Name", "Green Umbrella");
    row.Add("Price", 200);

    array.Add(row);
}

DataTable dt = JsonConvert.DeserializeObject<DataTable>(array.ToString());
看看它的格式:

[{"Name":"Blue Umbrella","Price":"100"},{"Name":"Green Umbrella","Price":"200"}]

我来看看query.ToString生成的字符串值是什么,并将其与您看到的其他示例进行比较。为什么要将其转换为数据表?为什么不转换为?我将看看query.ToString生成的字符串值是什么,并将其与您看到的其他示例进行比较。为什么将其转换为数据表?为什么不转换为?如何将这个json字符串更改为数据表C{apple.com:{status:regthroughthers,classkey:domcno},asdfgqwx.com:{status:available,classkey:domcno},microsoft.org:{status:unknown},apple.org:{status:unknown},microsoft.com:{status:regthroughthers,classkey:domcno},asdfgqwx.org:{status:unknown}@用户3786581我不认为你可以:关键字名称canges,apple.com变成asdfgqwx.com变成microsoft.com它更像是一本字典。这个问题很复杂,你应该问一个完整的问题。以下是我的完整问题:如何将这个json字符串更改为数据表C{apple.com:{status:regthroughthers,classkey:domcno},asdfgqwx.com:{status:available,classkey:domcno},microsoft.org:{status:unknown},apple.org:{status:unknown},microsoft.com:{status:regthroughthers,classkey:domcno},asdfgqwx.org:{status:unknown}@用户3786581我不认为你可以:关键字名称canges,apple.com变成asdfgqwx.com变成microsoft.com它更像是一本字典。这个问题很复杂,你应该问一个完整的问题。这是我的全部问题