Why is there a Serializable JSON Dictionary in my Odin Editor Window?

This is happening due to a minor bug that was introduced in Unity version 2017.3. Unity has already fixed this issue in the 2018 version.

We'll include a fix for it in 1.0.6.1. But for now, you can easily fix it yourself by saving the code below to a script file and place it underneath an editor folder in your Unity project.

#if UNITY_EDITOR

namespace Sirenix.OdinInspector.Editor.Drawers
{
    using System;
    using Sirenix.OdinInspector.Editor;
    using UnityEngine;

    [OdinDrawer]
    [DrawerPriority(9001, 0, 0)]
    public class Unity2017EditorWindowFixDrawer<T> : OdinValueDrawer<T> where T : ScriptableObject
    {
        public override bool CanDrawTypeFilter(Type type)
        {
            return type.FullName == "UnityEditor.Experimental.UIElements.SerializableJsonDictionary";
        }

        protected override void DrawPropertyLayout(IPropertyValueEntry<T> entry, GUIContent label)
        {
            var member = entry.Property.Info.MemberInfo;
            if (member.MemberType == System.Reflection.MemberTypes.Field && member.Name == "m_PersistentViewDataDictionary")
            {
                return;
            }

            this.CallNextDrawer(entry, label);
        }
    }
}

#endif
Can I use Odin for its editors only, without using the serialization? Can I use Odin for its editors only, without using the serialization?
Can I use Odin to make inspectors for my own asset store plugins? Can I use Odin to make inspectors for my own asset store plugins?
Can I use Odin Inspector to create custom editor windows? Can I use Odin Inspector to create custom editor windows?
Does the serialization support Windows Store and UWP? Does the serialization support Windows Store and UWP?
How do I contact Sirenix to report bugs, suggest features, or in general? How do I contact Sirenix to report bugs, suggest features, or in general?
Does Odin support serialization of Unity object references? Does Odin support serialization of Unity object references?
Does Odin support interfaces? Does Odin support interfaces?
How can I add an image to the inspector? How can I add an image to the inspector?
Why isn’t Odin drawing the inspector for my script? Why isn’t Odin drawing the inspector for my script?
Why is Odin not serializing or showing my field or property? Why is Odin not serializing or showing my field or property?
How will Odin handle existing editors? How will Odin handle existing editors?
How can I make a list show one item per page? How can I make a list show one item per page?
Does Odin support cross scene references? Does Odin support cross scene references?
Can I disable or hide an inspector property in play mode, or vice versa? Can I disable or hide an inspector property in play mode, or vice versa?
Which platforms are supported by Odin? Which platforms are supported by Odin?
How easy is Odin to uninstall? How easy is Odin to uninstall?
How will Odin affect performance in the inspector? How will Odin affect performance in the inspector?
How can I make my data in Odin Editor Windows persistent? How can I make my data in Odin Editor Windows persistent?
Unity crashed, could this have something to do with Odin? Unity crashed, could this have something to do with Odin?
How can I show static fields and properties in the inspector? How can I show static fields and properties in the inspector?
Can I use Odin's serialization without inheriting from SerializedMonoBehaviour etc.? Can I use Odin's serialization without inheriting from SerializedMonoBehaviour etc.?
How fast is Odin's Serialization system? How fast is Odin's Serialization system?
How stable/reliable is Odin's serialization system? Can I safely use it in my project? How stable/reliable is Odin's serialization system? Can I safely use it in my project?
Is it possible to customize how the dictionary drawer draw its key-type using attributes? Is it possible to customize how the dictionary drawer draw its key-type using attributes?
How can I make an attribute that lets you drag elements unto a member to set its value? How can I make an attribute that lets you drag elements unto a member to set its value?
Why are my values disappearing when I hit play? Why are my values disappearing when I hit play?
Can I write my own custom editor code using Odin? Can I write my own custom editor code using Odin?
How can I rename a type without loosing data? How can I rename a type without loosing data?