如何格式化 JSONP 响应的文本内容

how to format text content for JSONP response

我有一个保存到文本文件的 JSON 字符串,但我无法弄清楚格式化它以便通过 JSONP 返回的确切方法。 原始文件:

[{
    "id": "659",
    "recordtype": "inventoryitem",
    "columns": {
        "itemid": "100-mens-suit",
        "displayname": "Mens Mid Grey 2 reg Suit",
        "salesdescription": "Mens Mid Grey 2 reg Suit",
        "type": {
            "name": "Inventory Item",
            "internalid": "InvtPart"
        },
        "baseprice": 699,
        "internalid": {
            "name": "659",
            "internalid": "659"
        }
    }
}]

因为我必须手工准备,所以格式正确吗

callback(
    [{
        "id": "659",
        "recordtype": "inventoryitem",
        "columns": {
            "itemid": "100-mens-suit",
            "displayname": "Mens Mid Grey 2 reg Suit",
            "salesdescription": "Mens Mid Grey 2 reg Suit",
            "type": {
                "name": "Inventory Item",
                "internalid": "InvtPart"
            },
            "baseprice": 699,
            "internalid": {
                "name": "659",
                "internalid": "659"
            }
        }
    }]
)

callback({
    [{
        "id": "659",
        "recordtype": "inventoryitem",
        "columns": {
            "itemid": "100-mens-suit",
            "displayname": "Mens Mid Grey 2 reg Suit",
            "salesdescription": "Mens Mid Grey 2 reg Suit",
            "type": {
                "name": "Inventory Item",
                "internalid": "InvtPart"
            },
            "baseprice": 699,
            "internalid": {
                "name": "659",
                "internalid": "659"
            }
        }
    }]
})

我似乎无法在任何 JSON 格式工具中正确处理,但我希望那是因为 none 验证为 JSONP。

非常感谢任何提示

如果它是从文本文件中读取的,您需要在它进入回调之前使用 JSON.parse() - 如果您只是将其写入回调,我个人会这样声明:

var obj = {
    "id": "659",
    "recordtype": "inventoryitem",
    "columns": {
        "itemid": "100-mens-suit",
        "displayname": "Mens Mid Grey 2 reg Suit",
        "salesdescription": "Mens Mid Grey 2 reg Suit",
        "type": {
            "name": "Inventory Item",
            "internalid": "InvtPart"
        },
        "baseprice": 699,
        "internalid": {
            "name": "659",
            "internalid": "659"
        }
    }
};

callback(obj);

出于好奇,您的某些 int 被包装为字符串是不是有原因?