История изменений
Исправление 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]}}