pazz / grade50

turns check50 reports into grades
GNU General Public License v3.0
1 stars 2 forks source link

json Error #1

Closed ecamodeo closed 3 years ago

ecamodeo commented 3 years ago

I understand that this is likely my issue and not your issue but I ran the following: grade50 -o json grade.yaml caesar.json which resulted in the following error: json.decoder.JSONDecodeError: Expecting value: line 49 column 3 (char 1503) I am also uncertain of how to generate the json from my student submissions. I used the sample json from here. Thanks for any assistance!

ecamodeo commented 3 years ago

I should also note that I used your sample yaml making sure the text matched for each check.

pazz commented 3 years ago

I do not know why exactly, but that json content you point to seems to be invalid json. At least the python json parser does not parse it:

import json
json.load(open('caesar.json'))

blows up. I suspect that this is not actually produced by check50 but instead manually amended for presentation. Have you tried something that you actually produced by check50?

pazz commented 3 years ago

Yes, that content is definitely broken!

jid < caesar.json 
invalid json format: invalid character ']' looking for beginning of value

The problem is the comma in line 48. Remove it and it works.

ecamodeo commented 3 years ago

Awesome! Thanks a ton. This might not be the most appropriate place for this question so I apologize ahead of time but how do you generate the json for each student for each problem set?

pazz commented 3 years ago

per student. The json report is the result of running check50 on one students submission and it tells you which checks passed, failed and how. grade50 then turns this, and a pset global marking scheme, into grades for the student under consideration.