Class JsonVisitor | Serialization | 0.6.4-preview
docs.unity3d.com
    Show / Hide Table of Contents

    Class JsonVisitor

    A visitor that traverses a property container and outputs a JSON string.

    You can enrich the serialization by

    • Extend this class and overriding any methods.
    • Implement a JsonVisitorAdapter and register it using
    Inheritance
    Object
    JsonVisitor
    Namespace: Unity.Serialization.Json
    Syntax
    public class JsonVisitor : PropertyVisitor

    Constructors

    JsonVisitor()

    Initializes a new instance of JsonVisitor with the default adapters.

    Declaration
    public JsonVisitor()

    Properties

    Builder

    The inner string builder being written to.

    Declaration
    public StringBuilder Builder { get; }
    Property Value
    Type Description
    StringBuilder

    Indent

    Gets or sets the current indent level.

    Declaration
    public int Indent { get; set; }
    Property Value
    Type Description
    Int32

    Methods

    BeginCollection<TProperty, TContainer, TValue>(TProperty, ref TContainer, ref TValue, ref ChangeTracker)

    Invoked before visiting a collection type.

    Declaration
    protected override VisitStatus BeginCollection<TProperty, TContainer, TValue>(TProperty property, ref TContainer container, ref TValue value, ref ChangeTracker changeTracker)
    Parameters
    Type Name Description
    TProperty property

    The property being visited.

    TContainer container

    The container/host being visited.

    TValue value

    The value being visited.

    ChangeTracker changeTracker

    The change tracker for change propagation.

    Returns
    Type Description
    VisitStatus
    Type Parameters
    Name Description
    TProperty

    The property type.

    TContainer

    The container type.

    TValue

    The value type.

    BeginContainer<TProperty, TContainer, TValue>(TProperty, ref TContainer, ref TValue, ref ChangeTracker)

    Invoked before visiting a container type.

    Declaration
    protected override VisitStatus BeginContainer<TProperty, TContainer, TValue>(TProperty property, ref TContainer container, ref TValue value, ref ChangeTracker changeTracker)
    Parameters
    Type Name Description
    TProperty property

    The property being visited.

    TContainer container

    The container/host being visited.

    TValue value

    The value being visited.

    ChangeTracker changeTracker

    The change tracker for change propagation.

    Returns
    Type Description
    VisitStatus

    The result of the visit.

    Type Parameters
    Name Description
    TProperty

    The property type.

    TContainer

    The container type.

    TValue

    The value type.

    EndCollection<TProperty, TContainer, TValue>(TProperty, ref TContainer, ref TValue, ref ChangeTracker)

    Invoked after visiting a collection type.

    Declaration
    protected override void EndCollection<TProperty, TContainer, TValue>(TProperty property, ref TContainer container, ref TValue value, ref ChangeTracker changeTracker)
    Parameters
    Type Name Description
    TProperty property

    The property being visited.

    TContainer container

    The container/host being visited.

    TValue value

    The value being visited.

    ChangeTracker changeTracker

    The change tracker for change propagation.

    Type Parameters
    Name Description
    TProperty

    The property type.

    TContainer

    The container type.

    TValue

    The value type.

    EndContainer<TProperty, TContainer, TValue>(TProperty, ref TContainer, ref TValue, ref ChangeTracker)

    Invoked after visiting a container type.

    Declaration
    protected override void EndContainer<TProperty, TContainer, TValue>(TProperty property, ref TContainer container, ref TValue value, ref ChangeTracker changeTracker)
    Parameters
    Type Name Description
    TProperty property

    The property being visited.

    TContainer container

    The container/host being visited.

    TValue value

    The value being visited.

    ChangeTracker changeTracker

    The change tracker for change propagation.

    Type Parameters
    Name Description
    TProperty

    The property type.

    TContainer

    The container type.

    TValue

    The value type.

    GetTypeInfo<TProperty, TContainer, TValue>(TProperty, ref TContainer, ref TValue)

    Override this method to provide your own type information in the serialized json.

    Declaration
    protected virtual string GetTypeInfo<TProperty, TContainer, TValue>(TProperty property, ref TContainer container, ref TValue value)
        where TProperty : IProperty<TContainer, TValue>
    Parameters
    Type Name Description
    TProperty property
    TContainer container
    TValue value
    Returns
    Type Description
    String

    The type identifier as a string.

    Type Parameters
    Name Description
    TProperty

    The property type.

    TContainer

    The container type.

    TValue

    The value type.

    Back to top
    Copyright © 2023 Unity Technologies — Terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)
    "Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
    Generated by DocFX on 18 October 2023