我正在使用JS对象来创建带有Google可视化的图形。我正在设计数据源。起初,我创建了一个JS对象客户端。JSON字符串到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);
现在我需要动态获取数据。所以,我送一个AJAX请求到返回的JSON字符串的页面:
"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对象中,则该对象无法正确创建。请让我知道您的意见和任何更正或建议。
使用javascript'eval(json_string)'方法将字符串转换为json对象。尽管如此,同样的功能可能会有潜在的危险,因为它也可以执行脚本。 – 2010-02-13 10:15:37
只是一个FYI - 键名和字符串**必须**在有效的JSON里面'''':http://simonwillison.net/2006/Oct/11/json/ – gnarf 2010-02-13 10:16:42
可能的重复[Serializing to JSON in jQuery](http://stackoverflow.com/questions/191881/serializing-to-json-in-jquery) – outis 2011-12-26 10:11:08