Arnt Gulbrandsen
About meAbout this blog

Come back Microsoft, all is forgiven

A year ago I talked at some length and frequency about the evils of Microsoft's reference application for the Xbox. One of the points I mentioned most often is that the thing links in four different JSON libraries, all deficient in some serious manner.

Today I added a third JSON library to an application, despite knowing that it already used two different ones.

An aside on and the Xbox 360 is a fine library. High DWIM factor. So I was happy when Microsoft suggested that I use instead of the class Microsoft had previously suggested as the best-supported, JavascriptSerializer.

Starting with the July 2012 release, the Xbox ADK contains an integrated version of Unfortunately it seems dynamic types don't work on the Xbox 360, so they removed all the dynamic parts of JSON (ie. JS and most of the O).

Thus, for using on the Xbox, the following three rules apply: Use using Json.Net.Adk; instead of the proper package name. Use only JsonTextReader and its helpers (JsonToken, IJsonLineInfo) to parse. Use printf to write JSON.

Should you feel tempted to use's excellent higher-level functionality, forget it. It's not there. The Microsoft Help page spends six sentences describing, and that really is everything you can use.

I do wonder why dynamic doesn't work, and why that and the lack of the Microsoft.Csharp assembly isn't documented.