Hi @Ridwan Whitehead Greetings! Welcome to Microsoft Q&A forum. Thank you for posting this question here.
The JSON output gave me 31 joints, however, the joint positions that is outputted includes 32 rows with values, indicating that there are 32 joints.
Can you share more details on how you are capturing the body tracking joints though your code and pushing into a JSON file. What I believe is happening is that you are getting two sets of data here. One is the joint name data which would have 32 records in it. The other set of data is the parent joint data which would have 31 records in it. This is indicated in the Joint hierarchy section of the documentation.
I also recommend reviewing the documentation on Get body tracking results where you can access body frame details which would give you the joint position and orientation details. Kindly observe the results using this approach and let us know if you notice any improvements.