org.apache.sling.commons.json.JSONArray is deprecated in AEM 6.3

Due to license issues these classes were removed with Sling 9. It simply was the json.org library. Sling itself used it for a few things only, so Sling was refactored to get along without it.

I afraid, there is no replacement. You have to choose a different JSON library, include it into your project and port your code. As the JSON lib is pretty straight forward, it should be doable.

Here some links with the mailing lists:

https://lists.apache.org/thread.html/ee51bace078681765d5dcfeda1939628ccefb9b4261b1d7f6a56d420@%3Cdev.sling.apache.org%3E

http://mail-archives.apache.org/mod_mbox/www-legal-discuss/201611.mbox/browser

https://issues.apache.org/jira/browse/SLING-6536

Here is the license in question. It contains the ambiguous sentence "The Software shall be used for Good, not Evil."

https://github.com/stleary/JSON-java/blob/master/LICENSE


The best way forward is to change your Json API from org.apache.sling.commons.json to com.google.gson. Since it is already being used in AEM elsewhere.

GSON Usage in AEM

Tags:

Aem