I suspect this isn't really an issue as much as it is something all games with significant assets have to deal with.
Admittedly, 2-3 seconds is kinda heavy for just one character. The size of the json file should be a good estimate of your complexity and how much data the runtime has to load. This is most likely a result of having a lot of animations with a lot of keys (if you could check, some of the keys might be unnecessary and you could remove them in Spine Editor to help solve the problem)
Just for info.
Spine automatically does lazy-loading the first time you use the a Skeleton so it's easy to prototype. If you have many or complicated stuff, it'll load slowly.
In an actual product, you should preload the skeletons by calling GetSkeletonData on the needed SkeletonData assets before or while you load your level or scene or something, so gameplay isn't disrupted.