如何在 JSON 的开头和结尾添加文本以使其成为 JSONP

How to add text to beginning and ending of JSON to make it JSONP

我正在做一个项目,我可以手动添加一个开头的名字和括号:bio( 和结尾 ) 到我的 JSON 数据的末尾,使其可调用为 JSONP.

我将对大约 200 个文件执行此操作,这就是为什么我试图在代码中找到执行此操作的解决方案。

我尝试过使用正则表达式、转换为字符串、尝试转换回来等,但似乎没有任何效果。

我的缩写JSON数据如下:

{
"Directory": {
    "workbooks": ["/xl/workbook.xml"],
    "sheets": ["/xl/worksheets/sheet1.xml"],
    "style": "/xl/styles.xml",
    "defaults": {
        "xml": "application/xml",
        "rels": "application/vnd.openxmlformats-package.relationships+xml"
    }
},
"Workbook": {
    "AppVersion": [null],
    "Sheets": [
        [null]
    ],
    "CalcPr": [null],
    "xmlns": "http://schemas.openxmlformats.org/spreadsheetml/2006/main"
}

我想要的是:

bio({  <--------
"Directory": {
    "workbooks": ["/xl/workbook.xml"],
    "sheets": ["/xl/worksheets/sheet1.xml"],
    "style": "/xl/styles.xml",
    "defaults": {
        "xml": "application/xml",
        "rels": "application/vnd.openxmlformats-package.relationships+xml"
    }
},
"Workbook": {
    "AppVersion": [null],
    "Sheets": [
        [null]
    ],
    "CalcPr": [null],
    "xmlns": "http://schemas.openxmlformats.org/spreadsheetml/2006/main"
}) <-------

我最熟悉 Stringify 和正则表达式了:

var myString = JSON.stringify(workbook);
var change = myString.replace(/^/,"bioInfo(").replace(/$/,")”);

当我试图将它改回一个对象以便我可以使用它时,它没有说: JSON.parse:JSON 数据

的第 1 行第 1 列出现意外字符

我也试过 eval 并试图让它变回一个对象,但它似乎不起作用。

希望我的困境是清楚的,并且有人知道在 Javascript 或 Jquery 中执行此操作的好方法。

提前致谢。

你不需要像你做的那么复杂的东西。只需连接您的字符串。

var jsonp = "bio(" + json + ");"

I've gotten closest with Stringify

JSON 已经是一个字符串。如果您有一个 JavaScript 数据结构并想将其转换为 JSON.

,您只需要对某些内容进行字符串化