我正在使用一个JS对象通过谷歌可视化创建图形.我正在try 设计数据源.首先,我创建了一个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}]}"

This I save into a variable:

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

and show as

alert(var1);

现在我的任务是从这个字符串创建一个JS对象.这不管用.当我使用JS对象时,一切都很好,我能够得到所需的图形.现在,如果我try 将AJAX请求中相同的字符串值(我在alert 消息中确认了该值)放入一个n对象中,那么该对象的创建是不正确的.请让我知道你的意见和任何更正或建议.

推荐答案

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

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

For the browsers that don't support it, you can download json2.js from json.org for safe parsing of a JSON object. The script will check for native JSON support and if it doesn't exist, provide the JSON global object instead. If the faster, native object is available it will just exit the script leaving it intact. You must, however, provide valid JSON or it will throw an error — you can check the validity of your JSON with http://jslint.com or http://jsonlint.com.

Jquery相关问答推荐

在 Laravel 中使用 jQuery post 按相关值过滤 Select 选项,如何显示从控制器返回的数据?

在 JQuery DataTable 中通过按钮单击传递 ID

jQuery:获取数据属性

为什么对同一个 ASP.NET MVC 操作的多个同时 AJAX 调用会导致浏览器阻塞?

递归循环遍历对象(树)

jquery 淡入淡出元素不显示样式为可见性:隐藏的元素

如何使用 jQuery 以编程方式触发对链接的点击?

以ajax方式在rails 3中提交表单(使用jQuery)

如何设置缓存:jQuery.get 调用中的 false

如何使div全屏?

jQuery切换文本?

jQuery:获取父母,父母ID?

一组元素中具有最大高度的元素

如何使用 JSON、jQuery 将一组复杂对象发布到 ASP.NET MVC 控制器?

如果一个元素正在被动画,我如何用 jQuery 找出?

IE8 和 JQuery 的 trim()

如何获取第一个元素而不是在 jQuery 中使用 [0]?

使用 jquery 禁用文本框?

如何在没有鼠标事件的情况下在 jQuery 中获取鼠标位置?

jquery追加到列表的前面/顶部