Hello all,
This change is relevant for everyone using APIs, JSON output and dumps in their tools or gadgets.
Currently, when an object is empty (for example descriptions and aliases), it is rendered as an empty array []
in JSON. (Example) We want to serialized it as an empty object {}
instead. This change will ease the deserialization process and bring
more consistency in our code as some other places already use JSON
objects instead of arrays.
The impact of this change will be in JSON outputs (Special:EntityData) and JSON dumps, as well as the output of wbgetentities, wbgetclaims and editing APIs.
If you’re maintaining tools that use Special:EntityData, you may want to check your code to make sure that it reflects this change, e.g. items with no labels, descriptions, aliases or sitelinks are properly deserialized by your tool.
You can already test your code against our test system on beta.wikidata.org, for example on this item. According to our stable interface policy, the change will be enabled four weeks after this announcement, on April 30th.
In the meantime, if you have any issue or question, feel free to leave a comment in this ticket.
Thanks for your attention,
--