The JSON output used by go test -json is defined in:
Converting to junitxml should be trivial.
Each entry, excluding the last, can be mapped to a testcase xml element, and the last entry to a testsuite xml element (since it reports the total elapsed time).
If more than one package is tested, things are e bit more complex.
One unfortunate thing is that the TestEvent type does not have a name/description/label/comment field to record the optional comment of the test function.
The name/description/label/comment can be mapped to the name attribute of the testcase xml element.
Manlio