json4s / json4s/json4s

Deserialization not working on Android

Open
#464 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
1.5k
Forks
324
Avg merge
4h 35m
Merged PRs (30d)
30

Description

json4s version = 3.5.3
scala version = 2.11.11
jdk version = 1.7 / Android

Deserialization currently is not working on the Android platform as the ByteCode paranamer tries to resolve .class files for detemining the name of the constructor parameters. Android does not utilize class files. I was able to solve this by using the Annotation based paranamer and making my own version of json4s core.

I would suggest making the paranamer configurable, as right now it only works with the BytecodeParanamer.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining json4s core and how it currently selects the ByteCodeParanamer during deserialization. Compare that behavior with the Annotation based paranamer described in the issue, focusing on Android's lack of .class files. Done means the paranamer can be configured and deserialization works on Android without maintaining a separate json4s core version.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, scala
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.