Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.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# C中的数组反序列化不支持JSon类型#_C#_Json_Ssis - Fatal编程技术网

C# C中的数组反序列化不支持JSon类型#

C# C中的数组反序列化不支持JSon类型#,c#,json,ssis,C#,Json,Ssis,我对以前使用过的一些代码有问题,我确信我只是愚蠢,但我没有找到原因 我得到的错误是“数组的反序列化不支持类型'ScriptMain+Imports' 使用系统; Net系统; 使用System.Collections.Generic; 使用System.Web.Script.Serialization; [Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute] 公共类ScriptMain:UserComp

我对以前使用过的一些代码有问题,我确信我只是愚蠢,但我没有找到原因

我得到的错误是“数组的反序列化不支持类型'ScriptMain+Imports'

使用系统;
Net系统;
使用System.Collections.Generic;
使用System.Web.Script.Serialization;
[Microsoft.SqlServer.Dts.Pipeline.SSISScriptComponentEntryPointAttribute]
公共类ScriptMain:UserComponent
{
字符串json;
公共覆盖无效预执行()
{
base.PreExecute();
字符串url=this.Variables.apiurl;
json=下载json(url);
}
公共覆盖无效CreateNewOutputRows()
{
JavaScriptSerializer serialize=新的JavaScriptSerializer();
导入=(导入)序列化。反序列化(json,typeof(导入));
foreach(imports.contents中的var contentType)
{
Output0Buffer.name=contentType.name;
}
}
公共静态字符串下载JSON(字符串下载URL)
{
使用(WebClient=newWebClient())
{
返回client.DownloadString(downloadURL);
}
}
公共类导入
{
公共列表内容{get;set;}
}
公开课内容
{
公共字符串名称{get;set;}
}

}
尝试使用Microsoft Newtonsoft.Json 像

那你就简单地写吧

Movie m = JsonConvert.DeserializeObject<Movie>(json);

string name = m.Name;
Movie m=JsonConvert.DeserializeObject(json);
字符串名称=m.名称;

这里的Movie是一个类,它包含来自json的所有键

没有根标识,但有几个值可用,如下所示,但是目前我只对名称值感兴趣。editDate fhTwitterStatus fromDate Language筛选名称共享状态时间间隔到Date Topic请使用
json
的值更新您的问题。我认为这是正确的方向,但json有多行,我需要列出每一行,当根被命名时,我以前的方法可以正常工作,而且我不能控制它,因为它是通过第三方API提供的。
Movie m = JsonConvert.DeserializeObject<Movie>(json);

string name = m.Name;