LINUX.ORG.RU

История изменений

Исправление drull, (текущая версия) :

1. Json уже давно перестал быть чисто яваскриптовым форматом.
2. Десериализовать яваскриптовые даты в json даже сам яваскрипт не умеет. Пруф:

> (new Date()).toJSON()
"2015-10-28T19:47:21.644Z"
> JSON.stringify({"aaa":"bbb","ccc":"ddd"})
"{"aaa":"bbb","ccc":"ddd"}"
> JSON.parse(JSON.stringify({"aaa":"bbb","ccc":"ddd"}))
Object {aaa: "bbb", ccc: "ddd"}
> JSON.parse((new Date()).toJSON())
(program):1 Uncaught SyntaxError: Unexpected number(…)(anonymous function) @ VM3368:2InjectedScript._evaluateOn @ VM3101:904InjectedScript._evaluateAndWrap @ VM3101:837InjectedScript.evaluate @ VM3101:693

Только 4 типа поддерживаются на 100% во всех языках и реализациях.
{"this_is_map":{"this_is_string":"aaa","this_is_int":123,"this_is_array":[1,2,3]}}

так как как-то так вышло что array это тоже object

Разве что в js.

Исходная версия drull, :

1. Json уже давно перестал быть чисто яваскриптовым форматом.
2. Десериализовать яваскриптовые даты в json даже сам яваскрипт не умеет. Пруф:

> (new Date()).toJSON()
"2015-10-28T19:47:21.644Z"
> JSON.stringify({"aaa":"bbb","ccc":"ddd"})
"{"aaa":"bbb","ccc":"ddd"}"
> JSON.parse(JSON.stringify({"aaa":"bbb","ccc":"ddd"}))
Object {aaa: "bbb", ccc: "ddd"}
> JSON.parse((new Date()).toJSON())
(program):1 Uncaught SyntaxError: Unexpected number(…)(anonymous function) @ VM3368:2InjectedScript._evaluateOn @ VM3101:904InjectedScript._evaluateAndWrap @ VM3101:837InjectedScript.evaluate @ VM3101:693

Только 4 типа поддерживаются на 100% во всех языках и реализациях.
{"this_is_map":{"this_is_string":"aaa","this_is_int":123,"this_is_array":[1,2,3]}}