private static LottieResult<LottieComposition> fromJsonReaderSyncInternal(
      JsonReader reader, @Nullable String cacheKey, boolean close) {
    try {
      final LottieComposition cachedComposition = cacheKey == null ? null : LottieCompositionCache.getInstance().get(cacheKey);
      if (cachedComposition != null) {
        return new LottieResult<>(cachedComposition);
      }
      LottieComposition composition = LottieCompositionMoshiParser.parse(reader);
      if (cacheKey != null) {
        LottieCompositionCache.getInstance().put(cacheKey, composition);
      }
      return new LottieResult<>(composition);
    } catch (Exception e) {
      return new LottieResult<>(e);
    } finally {
      if (close) {
        closeQuietly(reader);
      }
    }
  }
Return a LottieComposition for the specified raw json string.
If loading from a file, it is preferable to use the InputStream or rawRes version.
lottie/src/main/java/com/airbnb/lottie/LottieCompositionFactory.java