Skip to main content

JsonSchemaNode(JsonNode) Constructor

Initializes a new instance of the JsonSchemaNode class.

Namespace: DevExpress.DataAccess.Json

Assembly: DevExpress.DataAccess.v24.1.dll

NuGet Packages: DevExpress.DataAccess, DevExpress.Win.PivotGrid, DevExpress.Win.TreeMap

Declaration

public JsonSchemaNode(
    JsonNode value
)

Parameters

Name Type Description
value JsonNode

Defines the created JSON schema node.

Remarks

The JsonNode object passed as the constructor’s parameter is assigned to the Value property and used to specify the JsonSchemaNode’s properties.

Example:

using DevExpress.DataAccess.Json;
using DevExpress.XtraReports.UI;
public static JsonDataSource CreateDataSourceFromWeb() {
    var jsonDataSource = new JsonDataSource();
    // Specify the endpoint.
    jsonDataSource.JsonSource = new UriJsonSource(
        new Uri("https://raw.githubusercontent.com/DevExpress-Examples/DataSources/master/JSON/customers.json"));
var root = new JsonSchemaNode();
root.NodeType = JsonNodeType.Object;

var customers = new JsonSchemaNode() {NodeType=JsonNodeType.Array, Name="Customers", Selected=true };
customers.AddChildren(new[] {
    new JsonSchemaNode(new JsonNode("CustomerID", true,
    JsonNodeType.Property, typeof(string))) 
    { 
    DisplayName = "Customer ID" },
    new JsonSchemaNode() {
        Name =  "CompanyName",
        Selected = true,
        NodeType = JsonNodeType.Property,
        Type = typeof(string)
    },
    new JsonSchemaNode(new JsonNode("ContactTitle", true, JsonNodeType.Property, typeof(string))),
    new JsonSchemaNode(new JsonNode("Address", false, JsonNodeType.Property, typeof(string)))
});

root.AddChildren(customers);
jsonDataSource.Schema = root;
            // The schema is built, you do not have to call the Fill method to populate the Field List.
            // The Designer calls the Fill method automatically when a document is generated for preview.
            //jsonDataSource.Fill();
            return jsonDataSource;
        }
See Also