First, the insistence on changing the way keys are written so as to break compatibility with JSON.
Second, the assumption on the ordering of keys in an object--it's my understanding that the standard does not require the order of keys to be preserved. Even if everyone does it, that's not a good thing to force on people if they are otherwise following the official standard.
It is OK to build on the JSON standard and say that an order matters. It will make it more difficult to interoperate, though.
Dropping the requirement to double-quote key names completely abandons JSON, though.
And once you do that, it is not at all clear to me what the point of this is. If you can't parse it as JSON, you get no lift from JSON and you can't use any existing JSON-based code, so why then accept the constraints of JSON?
A specification that used completely standard JSON with no ordering in the keys would make a lot more sense to me.
Further, were I going to do that, if I cared about order, I would use the construct in JSON that indicates order. It seems to me the natural sexpr -> JSON conversion for
(a b c (d e f))
would be
["a", "b", "c", ["d", "e", "f"]]
as thrysus says, with an option on
[{"type": "quoted", "value": "x"}, "y", "z"]
for special quoting forms and such. Or the quoted goes around the whole list or whatever makes sense.
All things considered, this proposal would require much more work before it could be useful to anybody; right now it tries to straddle two worlds and isn't successful at either of them. And I'm afraid I don't just mean "it's not very good at either"... I don't think it successfully covers either one at all.
An actual JSON compliant expression spec would be somewhat interesting, to capitalize on existing parsers and tooling. It would be even more interesting if it had a 1-1 mapping to scheme or some other Lisp. This accomplishes none of that.
That 'half of Common Lisp' thing keeps popping everywhere, unless explicitly planned.