[QGIS-Developer] GSoC 2026 Draft Proposal : JSON Handling Toolkit for the QGIS Processing Framework

Sionigdha Sadhukhan snigdha.lee75 at gmail.com
Tue Mar 17 23:39:10 PDT 2026


Hi Nyall,
Thank you for the pointer to QgsJsonUtils I wasn't aware it was already in
the codebase. I'll *switch the implementation plan to use nlohmann::json
via QgsJsonUtils *throughout, dropping the Qt JSON classes plan entirely.
I can see that* QgsJsonUtils::exportAttributesToJsonObject() *would make
the JSONFromAttributes algorithm significantly cleaner. I'll build that
algorithm around it directly.
*One follow-up question: for the read-side algorithms (LoadJSONFile,
ExtractJSONValue, FlattenJSON, JSONToTable), the plan is to accept a JSON
string as input and parse it internally using nlohmann::json::parse(). Is
that the right approach, or are there existing QgsJsonUtils helpers on the
read side I should be using instead?*
I'll update the proposal to reflect the switch to *QgsJsonUtils* and
*nlohmann*.
Kind regards,
Sionigdha

On Wed, 18 Mar 2026 at 10:04, Nyall Dawson <nyall.dawson at gmail.com> wrote:

>
>
> On Wed, 18 Mar 2026 at 14:23, Sionigdha Sadhukhan <snigdha.lee75 at gmail.com>
> wrote:
>
>> Subject: Re: GSoC 2026 Draft Proposal : JSON Handling Toolkit for the
>> QGIS Processing Framework
>>
>> Hi Valentin,
>> Thank you for the detailed feedback it's very helpful, and thanks for
>> guiding through.
>> The point about the two-headed proposal makes complete sense. I've
>> already started reworking the proposal to make the JSON toolkit the clear
>> centre of gravity. The ogrinfo typed parameter work is out I'm replacing
>> those weeks with 2 additional JSON algorithms (JSONFromAttributes and
>> MergeJSONArrays), bringing the total to 6 C++ algorithms that together
>> cover the full JSON data lifecycle inside a QGIS model.On the QEP I
>> understand the timing issue you raised and appreciate you flagging it. I'll
>> draft the QEP during the community bonding period and submit it for
>> community review before coding begins, so it doesn't block the proposal
>> submission if that is fine?
>> I also went through the Qt JSON documentation you linked. The
>> implementation plan is built entirely around Qt's built-in JSON classes
>> QJsonDocument, QJsonObject, QJsonArray, and QJsonValue no third-party
>> libraries needed.
>>
>
> Can you flip that to use the utilities from QgsJsonUtils? Those use the
> nlohmann library, which is faster then Qt's classes.
>
> Nyall
>
>>
>>>>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20260318/d4b92787/attachment.htm>


More information about the QGIS-Developer mailing list