Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Ext4: как декодировать JSON с датой в M$ формате (https://javascript.ru/forum/extjs/24767-ext4-kak-dekodirovat-json-s-datojj-v-m%24-formate.html)

Ex_Soft 13.01.2012 14:31

Ext4: как декодировать JSON с датой в M$ формате
 
<!doctype html>
<html>
    <head>
        <script type="text/javascript" src="http://docs.sencha.com/ext-js/4-0/extjs/ext-all.js"></script>
        <script type="text/javascript">
Ext.onReady(function() {
    var
        tmpStr="{\"FBool\":true,\"FString\":\"string\",\"FInt\":1,\"FFloat\":1.1,\"FDouble\":11.11,\"FDecimal\":111.111,\"FDateTime\":\"\/Date(1326443637436)\/\"}",
        o;

*!*
	tmpStr=tmpStr.replace(/\"\/Date\((-?\d+)\)\/\"/g,"new Date($1)");
*/!*

    try
    {
        o=Ext.decode(tmpStr);

        if(window.console && console.dir)
            console.dir(o);
    }
    catch(err)
    {
        if(window.console && console.log)
            console.log("%s Can't decode \"%s\" : %s", err.name, tmpStr, err.message);
    }
});
        </script>
    </head>
    <body>
    </body>
</html>

Но, во-первых: это - изврат, а, во-вторых: это я в дрозофиле могу такой финт ушами сделать, а если это будут данные для store/form - костыли вставлять?
Можно ли как-то по-людськи штатными средствами Ext'а забороть сие?

Ex_Soft 13.01.2012 17:52

...
o=Ext.decode(tmpStr);
*!*
o.FDateTime = Ext.Date.parse(o.FDateTime, "MS");
*/!*
...


Часовой пояс GMT +3, время: 11:24.