Skip to content

fix(jvm): resolve SerializationException for Map<String, Any?> on JVM platform#4

Merged
samuolis merged 2 commits into
samuolis:mainfrom
RivuChk:main
Mar 20, 2026
Merged

fix(jvm): resolve SerializationException for Map<String, Any?> on JVM platform#4
samuolis merged 2 commits into
samuolis:mainfrom
RivuChk:main

Conversation

@RivuChk
Copy link
Copy Markdown
Contributor

@RivuChk RivuChk commented Mar 19, 2026

Fixes #3

Replace kotlinx.serialization.serializer<Map<String, Any?>>() with custom
MapStringAnySerializer to fix ExceptionInInitializerError on JVM.

The built-in serializer fails because kotlin.Any lacks a default serializer.
Custom implementation recursively handles all common types (String, Number,
Boolean, List, Map) and preserves proper JSON structure for nested objects.

  • Adds MapStringAnySerializer with recursive toJsonElement() conversion
  • Maintains proper JSON arrays/objects instead of stringified structures
  • Fixes PostHog initialization failure on JVM/Desktop platforms
  • Preserves backward compatibility and public API

Fixes initialization error:
kotlinx.serialization.SerializationException: Serializer for class 'kotlin.Any' is not found

…> on JVM platform

  Replace kotlinx.serialization.serializer<Map<String, Any?>>() with custom
  MapStringAnySerializer to fix ExceptionInInitializerError on JVM.

  The built-in serializer fails because kotlin.Any lacks a default serializer.
  Custom implementation recursively handles all common types (String, Number,
  Boolean, List, Map) and preserves proper JSON structure for nested objects.

  - Adds MapStringAnySerializer with recursive toJsonElement() conversion
  - Maintains proper JSON arrays/objects instead of stringified structures
  - Fixes PostHog initialization failure on JVM/Desktop platforms
  - Preserves backward compatibility and public API

  Fixes initialization error:
  kotlinx.serialization.SerializationException: Serializer for class 'kotlin.Any' is not found
@RivuChk RivuChk changed the title Fixes #3: resolve SerializationException for Map<String, Any?> on JVM… fix(jvm): resolve SerializationException for Map<String, Any?> on JVM platform Mar 19, 2026
@samuolis
Copy link
Copy Markdown
Owner

You need to declare visibility for serializer. I think you can declare private visibility here as you do not need to expose serializer

@samuolis samuolis merged commit 7de446c into samuolis:main Mar 20, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[JVM] SerializationException: Serializer for class 'kotlin.Any' is not found on JVM platform

2 participants