JSON 中的日期对象返回的数据被视为字符串
Date object in JSON return data treated as string
我尝试从URL获取JSON数据并将值推送到函数中。所有 JSON 值都用引号括起来,以具有正确的 JSON 格式。但实际上并非所有值都是字符串。
下面是一个 JSON 示例:
table = [
{
'date1': 'new Date(2015,13,1)',
'content': 'this is the content'
},
{
'date1': 'new Date(2015,13,2)',
'content': 'this is the contentB'
}
];
文件加载方式如下:
var req = new XMLHttpRequest();
var url = "http://localhost/json-test";
req.onreadystatechange = function() {
if (req.readyState == 4 && req.status == 200) {
var myData = JSON.parse(req.responseText);
drawFunction(myData);
}
}
req.open("GET", url, true);
req.send();
function drawFunction(myData) {
doSomething();
}
这有效 - 但"新日期"值(当然)也作为字符串返回。如何转换它们?该函数应使用如下值:
table = [
{
'date1': new Date(2015,13,1), //as new Date - not as string - without quotes
'content': 'this is the content'
},
{
'date1': new Date(2015,13,2),
'content': 'this is the contentB'
} ];
我可能完全错了。任何提示将不胜感激。无法更改 JSON 源文件。
您的错误是new Date
对象周围''
字符的包围。他们将其作为字符串发送,而不是评估对象。
写这个,
'date1': (new Date(2015,13,1)).toString()
而不是
'date1': 'new Date(2015,13,1)'
这将以标准格式返回日期。它也可以格式化。
注意:您不能通过 JSON 发送自定义对象(如 Date
),只能发送经过评估的字符串。(仅仅因为JSON是一个独立于平台的交易所)
相关文章:
- Ajax请求返回空的数据字符串,但首先得到了正确的数据
- Javascript / JQuery循环访问已发布的ajax数据字符串以为其分配新值
- 保存Canvas图像(将数据字符串发布到PHP)
- 如何将数据字符串附加到角度$http
- Mozilla Persona 符号数据字符串
- JSON 数据字符串替换和日期格式
- Javascript 字典到 html 数据字符串
- 如何在服务器端保存PNG图像,使用base64数据字符串javascript
- 访问javascript中的json数据(字符串数组)
- 基于浏览器的本地文件系统到SVG base64数据字符串
- 为什么这个ajax请求有一个数据字符串,里面有一堆带破折号的数字
- 字符串化字符串化的数据字符串
- 分割数据-字符串.分离参数
- 如何在三星Note 2上使用toDataURL创建JPG数据字符串
- 使用javascript删除特定的数据字符串
- 无法在d3.js中对有序数据(字符串)执行刷刷
- 将数据字符串转换为对象
- 正确解码Get Blob数据字符串到ArrayBuffer
- 在服务器端保存画布图像时,从base64数据字符串生成空白图像
- 如何预防'未定义'从流中读取数据时的数据字符串