javascript - 需要将 JSON 解释为变量

标签 javascript jquery ajax json highcharts

首先,很抱歉我的英语不好。我有个问题。我需要通过 ajax 调用创建 Highcharts 。

这很完美:

chartOptions = { chart: {  renderTo: 'grafica1', type: 'area', },  series: [{ data: [1,2,3] }]};
chartprueba = new Highcharts.Chart(chartOptions);

我想做的是一个带有消息或 json 响应的 ajax,例如:

"chart: { renderTo: 'grafica1', type: 'area', }, series: [{ data: [1,2,3] }]}"

所以我需要一种方法让 jQuery 解释像代码而不是像字符串...

这是我的示例,但不起作用:

msg =  JSON.parse(msg);
chartOptions = msg;
chartprueba = new Highcharts.Chart(chartOptions);

因为 chartOptions 是一个字符串而不是对象...

最佳答案

这个字符串

"chart: { renderTo: 'grafica1', type: 'area', }, series: [{ data: [1,2,3] }]}"

不是有效的 JSON。它没有左花括号,它有杂散的逗号,键没有被引用。它甚至不是有效的 javascript 对象定义,但检查 json.org JSON 强加了额外的严格性。

编辑:根据您在别处的评论:

您正在使用 JSON 编码字符串,而不是对象。你想要的是像

$retorno = Array(
 chart => Array (renderTo =>'grafica1', type => 'area' ),
 series => Array(Array(data => Array(1,2,3)))
);
echo json_encode($retorno);

(如果我没记错 php 语法的话)。

关于javascript - 需要将 JSON 解释为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19502992/

相关文章:

jquery - 防止子菜单被溢出滚动容器裁剪

php - 使用 PHP 的 mysql_connect 功能的正确方法?

带 Promise 的 Jquery Ajax 调用

javascript - .ready 不承认 AJAX 内容

javascript - 为什么 Vue.js 不打印一个对象属性,即使它存在?

Javascript 更改表值

jQuery - 帮助 .find() 并将 id 添加到 anchor 标记

javascript - 如何将特定的 imdb ID 复制并添加到另一个州?

javascript - 当我在图标 Bootstrap 中单击时展开网格系统列

javascript - 添加 post 变量以通过 AJAX 使用 FormData() 发送表单