gpt4 book ai didi

javascript - JSON字符串到JS对象

转载 作者:IT老高 更新时间:2023-10-28 12:43:33 26 4
gpt4 key购买 nike

我正在使用 JS 对象来创建具有 Google 可视化效果的图形。我正在尝试设计数据源。起初,我在客户端创建了一个 JS 对象。

var JSONObject = {
cols: [{
id: 'date',
label: 'Date',
type: 'date'
},
{
id: 'soldpencils',
label: 'Sold Pencils',
type: 'number'
},
{
id: 'soldpens',
label: 'Sold Pens',
type: 'number'
}
],
rows: [{
c: [{
v: new Date(2008, 1, 1),
f: '2/1/2008'
}, {
v: 30000
}, {
v: 40645
}]
},
{
c: [{
v: new Date(2008, 1, 2),
f: '2/2/2008'
}, {
v: 14045
}, {
v: 20374
}]
},
{
c: [{
v: new Date(2008, 1, 3),
f: '2/3/2008'
}, {
v: 55022
}, {
v: 50766
}]
}
]
};

var data = new google.visualization.DataTable(JSONObject, 0.5);

现在我需要动态获取数据。所以我向返回 JSON 字符串的页面发送 AJAX 请求:

 "cols: [{id: 'date', label: 'Date', type: 'date'},
{id: 'soldpencils', label: 'Sold Pencils', type: 'number'},
{id: 'soldpens', label: 'Sold Pens', type: 'number'}],
rows: [{c:[{v: new Date(2008,1,1),f:'2/1/2008'},{v: 30000}, {v: 40645}]},
{c:[{v: new Date(2008,1,2),f:'2/2/2008'},{v: 14045}, {v: 20374}]},
{c:[{v: new Date(2008,1,3),f:'2/3/2008'},{v: 55022}, {v: 50766}]}"

我保存到一个变量中:

var var1 = "cols: [{i ....... 66}]}"

并显示为

alert(var1);

现在我的任务是从这个字符串创建一个 JS 对象。这是行不通的。当我使用 JS 对象时,一切正常,并且我能够获得所需的图表。现在,如果我尝试将来自 AJAX 请求的相同字符串值(我从警报消息中确认)放入 n 对象,则该对象未正确创建。请让我知道您的意见以及任何更正或建议。

最佳答案

一些现代浏览器支持将 JSON 解析为原生对象:

var var1 = '{"cols": [{"i" ....... 66}]}';
var result = JSON.parse(var1);

不支持的浏览器可以到json.org下载json2.js用于安全解析 JSON 对象。该脚本将检查 native JSON 支持,如果不存在,则提供 JSON 全局对象。如果更快的 native 对象可用,它将退出脚本并保持原样。但是,您必须提供有效的 JSON,否则会引发错误 — 您可以使用 http://jslint.com 检查 JSON 的有效性。或 http://jsonlint.com .

关于javascript - JSON字符串到JS对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2257117/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com