【发布时间】:2013-10-29 16:00:24
【问题描述】:
我正在使用 SuperObject 库来处理 JSON。
我有这个 JSON(Mozilla FireFox、Chrome 书签文件的一部分):
"roots": {
"bookmark_bar": {
"children": [ {
"date_added": "13009663942000000",
"id": "11",
"meta_info": "{\"sync\":{\"transaction_version\":\"3\"}}",
"name": "\u041D\u0430\u0447\u0430\u043B\u044C\u043D\u0430\u044F \u0441\u0442\u0440\u0430\u043D\u0438\u0446\u0430",
"type": "url",
"url": "http://www.mozilla.com/ru/firefox/central/"
}, {
我尝试使用函数 JavaTimeToDelphiDateTime 将数据作为整数,但它不起作用。
我需要将“date_added”字段读取为 TDateTime。如何做到这一点,使用 SuperObject 库?
【问题讨论】:
-
您的 JSON 时间戳似乎以微秒为单位(而不是人们可能期望的以毫秒为单位)。将其读取为
Int64值,但在将其传递给JavaTimeToDelphiDateTime函数之前,将其转换为函数期望的单位 (which is milliseconds ?)。 -
谢谢。该函数返回 01.02.5042 12:34:21 :d 另外我将 div 值设置为 1000,以毫秒为单位进行转换,结果仍然错误。如果我 div 数据百万,我得到 05.04.1970...
-
我对您用于转换的函数一无所知(因为它不是 Delphi 的一部分)。我刚刚尝试使用
this website转换您的时间戳,上面写着“假设此时间戳以微秒为单位(1/1,000,000 秒):Thu, 24 Mar 2011 11:33:14 GMT",看起来很合理。请包括您用于转换为问题的代码。除此之外,还要详细说明“不起作用” 的含义——你得到了什么结果以及你期望得到什么。 -
好吧,看来你不想更新你的问题......没关系。通过使用
this function将您的值除以 10,000,您将得到 24.3.2011 12:33:14。很难说这是否是你想要得到的,也很难说为什么。这就是你的问题应该是什么。与此同时,我已经投票结束这个问题...... -
我现在更新了我的帖子。谢谢你的帮助!你能回答一下这个问题吗?
标签: json delphi delphi-xe superobject