C# C中的数组反序列化不支持JSon类型#
我对以前使用过的一些代码有问题,我确信我只是愚蠢,但我没有找到原因 我得到的错误是“数组的反序列化不支持类型'ScriptMain+Imports'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
使用系统;
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;