<story><title>The Order of the JSON</title><url>https://blog.almaer.com/the-order-of-the-json/</url></story><parent_chain><item><author>Someone</author><text>Next installment: how flipping an innocuous switch introduced a subtle bug that was silent for years and cost us millions.&lt;p&gt;You can’t just flip that switch, run &lt;i&gt;”a client to post the JSON to that instance”&lt;/i&gt;, see that test &lt;i&gt;“worked just fine”&lt;/i&gt;, and call it a day.&lt;p&gt;The POST might just store it, for later processing to wreak havoc (say by ignoring a value that isn’t in the expected place in the JSON), or only rarely seen JSONs might cause problems, or it might ‘only’ break the yearly run, etc.</text></item></parent_chain><comment><author>smacktoward</author><text>Also known as Chesterton’s Fence: &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Wikipedia:Chesterton%27s_fence&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Wikipedia:Chesterton%27s_fence&lt;/a&gt;</text></comment>
<story><title>The Order of the JSON</title><url>https://blog.almaer.com/the-order-of-the-json/</url></story><parent_chain><item><author>Someone</author><text>Next installment: how flipping an innocuous switch introduced a subtle bug that was silent for years and cost us millions.&lt;p&gt;You can’t just flip that switch, run &lt;i&gt;”a client to post the JSON to that instance”&lt;/i&gt;, see that test &lt;i&gt;“worked just fine”&lt;/i&gt;, and call it a day.&lt;p&gt;The POST might just store it, for later processing to wreak havoc (say by ignoring a value that isn’t in the expected place in the JSON), or only rarely seen JSONs might cause problems, or it might ‘only’ break the yearly run, etc.</text></item></parent_chain><comment><author>dtech</author><text>How do you justify ever changing anything with that attitude?&lt;p&gt;This change made parsing more lenient which is generally considered fine [1] and made the software actually follow the spec, since it specifies object entries are unordered.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Robustness_principle&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;en.wikipedia.org&amp;#x2F;wiki&amp;#x2F;Robustness_principle&lt;/a&gt;</text></comment>