C# NewtonSoft反序列化嵌套JSON Blue Prism
我使用Blue Prism调用Microsoft计算机视觉API来识别PDF中的文本 获取JSON响应后,Blue Prism使用Blue Prism的JSON实用程序或Microsoft Computer Vision skill:Get Read Operation response上提供的操作将其转换为一个集合(DataTable) 问题:在某些情况下,由于数据类型错误,Blue Prism无法将JSON文本解析到集合中 有人能建议一个代码将这种类型的JSON结构转换成Blue Prism可以读取的数据表吗 我已经为2个JSON附加了pastebin链接(正文限制为30000个字符,不能在这里复制) 可在蓝色棱柱体中读取(包含特殊字符!”#$%&/()”): 在蓝色棱镜中不可读: Blue Prism给出以下错误: 使用“获取读取操作响应”操作: 内部:数组中出现意外错误数据类型不匹配:元素“3”的类型不是预期的类型“System.Double” 使用“Blue Prism的JSON实用程序”: 内部:无法执行代码阶段,因为代码阶段引发异常:数组中的数据类型不匹配 我试图通过使用json2csharp.com提供的工具创建公共类,将嵌套的JSON解析为数据表,然后指向它们并写入数据表。我还尝试不创建类,只通过指向属性recognitionResults将JSON直接解析到数据表 不上课: DataSet ds=JObject.Parse(json_txt)[“识别结果”].ToObject() 课程: DataTable dt=(DataTable)JsonConvert.DeserializeObject(json_txt,(typeof(DataTable)) 课程:C# NewtonSoft反序列化嵌套JSON Blue Prism,c#,json,nested,ocr,blueprism,C#,Json,Nested,Ocr,Blueprism,我使用Blue Prism调用Microsoft计算机视觉API来识别PDF中的文本 获取JSON响应后,Blue Prism使用Blue Prism的JSON实用程序或Microsoft Computer Vision skill:Get Read Operation response上提供的操作将其转换为一个集合(DataTable) 问题:在某些情况下,由于数据类型错误,Blue Prism无法将JSON文本解析到集合中 有人能建议一个代码将这种类型的JSON结构转换成Blue Prism
public class Word
{
public List<double> boundingBox { get; set; }
public string text { get; set; }
public string confidence { get; set; }
}
public class Line
{
public List<double> boundingBox { get; set; }
public string text { get; set; }
public List<Word> words { get; set; }
}
public class RecognitionResult
{
public int page { get; set; }
public double clockwiseOrientation { get; set; }
public double width { get; set; }
public double height { get; set; }
public string unit { get; set; }
public List<Line> lines { get; set; }
}
public class RootObject
{
public string status { get; set; }
public List<RecognitionResult> recognitionResults { get; set; }
}
公共类单词
{
公共列表边界框{get;set;}
公共字符串文本{get;set;}
公共字符串置信度{get;set;}
}
公共班级线
{
公共列表边界框{get;set;}
公共字符串文本{get;set;}
公共列表字{get;set;}
}
公共类识别结果
{
公共整型页{get;set;}
公共双时钟方向{get;set;}
公共双宽度{get;set;}
公共双倍高度{get;set;}
公共字符串单元{get;set;}
公共列表行{get;set;}
}
公共类根对象
{
公共字符串状态{get;set;}
公共列表识别结果{get;set;}
}
以下是嵌套的集合在Blue Prism中的外观:
如果您使用的是版本6或更高版本,您应该看看Blue Prism DX,它是社区的一个分支,用户可以在这里交流VBO和知识。这个问题已经解决了: 此实用工具提供了将JSON解析为集合的功能,以及将集合转换为JSON的功能
根据@MikeRs的答案,使用蓝色棱镜DX可以很容易地解决这个问题,但是使用
通过技能发送文件,并使用输出检索Blue Prism格式的数据项中的分析。您能否将您的问题分享给我们一个您试图反序列化的JSON示例,即a?您使用的是哪种Blue Prism版本?这比在某些最新版本的6.x中更容易实现。@dbc我编辑了这个问题,请检查它。@esqew我使用的是6.5.0版本。它并不总是有效的,请参考问题附带的两个文件。正如我在问题中解释的,这两个文件都是Microsoft Vision Skill和Blue Prism DX的JSON实用程序,这两种方法都适用于将JSON解析到集合中的大多数情况。不一定。@David您使用的是哪个版本的Microsoft Azure计算机视觉技能?我的理解是,该技能的v2.0版(链接在上面的答案中)不再遇到此问题。我仍然得到相同的内部错误:数组中的意外错误数据类型不匹配:元素“3”具有类型而不是预期的类型“System”。Double“error我确实升级到v2.0版,但仍然得到相同的错误。你还有别的解决办法吗?