首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将JSON中的字符串js函数解析为js函数

将JSON中的字符串js函数解析为js函数
EN

Stack Overflow用户
提问于 2016-09-10 19:52:01
回答 1查看 77关注 0票数 0

我有PHP字符串。

代码语言:javascript
运行
复制
{"formatter":"function (){    return   '<b>' + this.series.xAxis.categories[this.point.x] + '<\/b> sold <br><b>' + this.point.value + '<\/b> items on <br><b>' + this.series.yAxis.categories[this.point.y] + '<\/b>';   }"}

我可以通过这个答案Stackoverflow Answer将JSON转换成PHP

代码语言:javascript
运行
复制
{"formatter":function (){    return   '<b>' + this.series.xAxis.categories[this.point.x] + '<\/b> sold <br><b>' + this.point.value + '<\/b> items on <br><b>' + this.series.yAxis.categories[this.point.y] + '<\/b>';   }}

但是,当我尝试将JSON解析为对象时

代码语言:javascript
运行
复制
jQuery.parseJSON(variableContainingPHPJSONstring)

我有这样的错误。

Uncaught : JSON中位于14位的意外标记u

这是我正在处理的JSON,它是一个HIGHCHART。

I have this type of highchart config data coming from db=> php Array=> php json => js string => js object

我在这里只对功能部分有问题。在tooltip:formatter

EN

回答 1

Stack Overflow用户

发布于 2016-09-10 20:47:41

函数不是有效的json。如果您想让这个函数可用的话,您将不得不使用它()。我鼓励您找到一种避免这样做的方法,或者使用一个工具提示函数来接受一行数据或任何东西,但是下面是一个使用eval()来做您想做的事情的工作示例。

代码语言:javascript
运行
复制
var data = {
    key1: "123",
    key2: "junk",
    formatter: "(function(){return 4;})"
};

var formatter = eval(data.formatter);

console.log(formatter());
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39430023

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档