JsonDataSource

JsonDataSource class

提供对报告中使用的 JSON 文件或流的数据的访问。

要了解更多信息,请访问LINQ 报告引擎文档文章。

public class JsonDataSource

构造函数

姓名描述
JsonDataSource(Stream)使用解析 JSON 数据的默认选项,创建一个包含 JSON 流数据的新数据源。
JsonDataSource(string)使用解析 JSON 数据的默认选项,使用来自 JSON 文件的数据创建新的数据源。
JsonDataSource(Stream, JsonDataLoadOptions)使用指定的选项解析 JSON 数据,创建一个包含 JSON 流数据的新数据源。
JsonDataSource(string, JsonDataLoadOptions)使用指定的选项解析 JSON 数据,创建一个包含 JSON 文件中数据的新数据源。

评论

要在生成报告时访问相应文件或流的数据,请将此类的实例作为 数据源传递给以下之一ReportingEngine.BuildReport 重载.

在模板文档中,如果顶级 JSON 元素是数组,则JsonDataSource实例应该以与 相同的方式处理DataTable 实例。如果顶级 JSON 元素 是一个对象,则JsonDataSource实例应该以与 相同的方式处理DataRow 实例。有关更多信息,请参阅模板语法参考 (https://docs.aspose.com/display/wordsnet/Template+Syntax)。

在模板文档中,您可以使用 JSON 元素的类型值。为了方便起见,引擎将 JSON 简单类型集合 替换为以下集合:

  • Nullable
  • Nullable
  • Nullable
  • Nullable
  • String

引擎根据 JSON 表示自动识别额外类型的值。

要覆盖 JSON 数据加载的默认行为,请初始化并传递JsonDataLoadOptions实例 到此类的构造函数。

例子

展示如何使用 JSON 作为数据源(字符串)。

Document doc = new Document(MyDir + "Reporting engine template - JSON data destination.docx");

JsonDataLoadOptions options = new JsonDataLoadOptions
{
    ExactDateTimeParseFormats = new List<string> {"MM/dd/yyyy", "MM.d.yy", "MM d yy"},
    AlwaysGenerateRootObject = true,
    PreserveSpaces = true,
    SimpleValueParseMode = JsonSimpleValueParseMode.Loose
};

JsonDataSource dataSource = new JsonDataSource(MyDir + "List of people.json", options);
BuildReport(doc, dataSource, "persons");

doc.Save(ArtifactsDir + "ReportingEngine.JsonDataString.docx");

也可以看看