This release updates iStatistician to handle some recent changes on the iRacing member website.
Go get the new version here!
Technically, this release should never have been necessary. iRacing added two additional fields to a JSON data structure they return over HTTP. They’re fields that iStatistician could safely ignore. Unfortunately, the third-party JSON adapter I’m using to deserialize JSON from a string into a POCO chokes if a field present in the JSON has no corresponding target field/property on the target POCO type. More than that, there seems to be no option to tolerate such missing target fields. You might be wondering, since I’m in .NET-land anyway, why I’m not using MS’s own JSON parser (part of WCF). Unfortunately, I found that the MS JSON serializer is a long way from being able to handle the peculiarities of the dialect of JSON that iRacing returns. Actually, that’s probably unfair. More likely, the problem is that MS’ JSON parser expects peculiarities which JSON doesn’t actually prescribe. More later, probably, because…
The long and the short of it is that I’ve recently been working with the ANTLR parser and lexer generator, and it might be fun to roll my own JSON parser (nothing like re-reinventing the wheel again again) which handles both MS- and iRacing-dialect JSON, as well as giving the tolerant behaviour I really want.