December 17, 2020
~~~json.d
void main ()
{
   import std.stdio;
   import std.json;

   string [] json = [
`{
   "range": [
      {"x": "iks"}
   ],
   "range": "variable"
}`,
`{
   "range": "variable",
   "range": [
      {"x": "iks"}
   ]
}`
   ];
   foreach (js; json) {
      auto jv = parseJSON (js, JSONOptions.strictParsing);
      writeln ("json = ", js);
      writeln ("JSONValue = ", jv);
   }
}
~~~

$ ./json
json = {
   "range": [
      {"x": "iks"}
   ],
   "range": "variable"
}
JSONValue = {"range":"variable"}
json = {
   "range": "variable",
   "range": [
      {"x": "iks"}
   ]
}
JSONValue = {"range":[{"x":"iks"}]}

There has been some discussion (TL;DR) in this forum [1] about
this topic. The doc page [2] keeps silent but suggests using the
strictParsing flag which enables to "Strictly follow RFC-8259 grammar
when parsing" which unfortunately does not help here.

[1] http://forum.dlang.org/thread/nbuhouhimowvcqssvfnr@forum.dlang.org?page=14#post-mqlj4s:242497:241:40digitalmars.com
[2] https://dlang.org/phobos/std_json.html