如何从json数据中获取Date对象
How to get a Date object from json data
我只是想解析一个Json文档,它的字段Date如下:"死亡":使用的日期("2007-03-17T04:00Z")
com.mongodb.util.JSON.parse(document)
遇到值Date时会出现异常。有什么帮助吗?
这里的关键是导出的数据都做错了。可能有人从MongoDB shell运行了一些东西,并将控制台输出重定向到一个文件。这基本上就是"做错了"。
有一个名为MongoDB Extended JSON的概念,事实上,它已经在其他一些领域得到了应用,尤其是EJSON项目。这样做的目的是确保任何导出的JSON都将"类型"信息保存到BSON类型标识符(或其他对象类型,以EJSON为目的),以便类似的"扩展JSON"解析器可以将对象"重新构造"为其预期形式。
对于"日期"对象,预期的JSON表示如下:
{ "death": { "$date": "2007-03-17T04:00:00Z" } }
由于com.mongodb.util.JSON.parse
是在了解扩展JSON规范的情况下启用的,因此任何此类JSON构造都将根据解析的数据构造正确的日期对象。
所以你现在拥有的只是一个"字符串"。事实上,如果不是这样"引用"的话:
´ { "death" : "Date('2007-03-17T04:00:00Z')" }
事实上,它甚至不是有效的JSON,甚至需要被操纵到正确的形式,即使是基本的JSON解析器也不会出错。无论如何,结果仍然只是一个"字符串",因此您需要为数字数据创建一个正则表达式匹配,然后将其传递给日期对象构造。
显然,这里"最好"的做法是修复数据的"导出"源,以便以正确的扩展方式将数据解析为JSON。然后,您正在使用的解析器将执行正确的操作。
相关文章:
- 如何获取javascript's.Net中的Date.parse()
- 如何从Javascript中的Date()函数中获取斯里兰卡时间缩写
- JavaScript's`new Date().getTime()`获取Windows中的本地时间
- Javascript Date.toJSON don't获取时区偏移量
- 使用 Date.js 解析 12 小时格式时获取 null
- JavaScript 使用 Date.parse 获取日期和日期
- 如何使用javascript date.js库获取d / m / y格式的日期
- 如何从json数据中获取Date对象
- 获取具有特定时间的Date()对象
- 获取Javascript中Date对象之间差异的正确方法
- 用于获取javascript、Date()或new Date()中的当前时间
- 如何获取要在js()中使用的DatePicker值date
- 如何从date()对象中获取日期和时间
- 如何从UTC时间戳中获取JS Date对象
- 从现有的javascript Date()对象中获取当前时间
- 使用JavaScript从Date获取月份名称,但使日期比实际日期提前15天
- 通过date.js表达式获取前一周
- 从javascript中的today's date中获取上一个日期
- 从date javascript获取毫秒数
- 在JavaScript中应用时区后获取Date的组件