json-glib is included in the public headers thus needs to be in Requires, otherwise it can cause errors on platforms that use alternative interpretation of Requires.private:
…/include/gthree-1.0/gthree/gthreeattribute.h:12:10: fatal error: json-glib/json-glib.h: No such file or directory
#include <json-glib/json-glib.h>
^~~~~~~~~~~~~~~~~~~~~~~
json-glib is included in the public headers thus needs to be in Requires, otherwise it can cause errors on platforms that use alternative interpretation of Requires.private: