5

我有一个要求,我从后端获取 JSON 数据,我必须在 textarea 中显示。当前,数据来了,但它没有格式化和验证。现在

1)如何在 textarea 中美化 JSON?2)如何在保存之前验证它?

我搜索了所有 javascript/jquery 插件,但没有得到我想要的。我想要 jslint 之类的东西

提前致谢

4

2 回答 2

14

JSON.stringify(object, 0, 4)与空间参数一起使用格式化的 JSON 字符串。

var object = [{ "stop_id": 70021, "stop_name": "CALTRAIN - 22ND ST STATION", "stop_lat": 37.757692, "stop_lon": -122.392318, "zone_id": 3329 }, { "stop_id": 70022, "stop_name": "CALTRAIN - 22ND ST STATION", "stop_lat": 37.757692, "stop_lon": -122.392318, "zone_id": 3329 }, { "stop_id": 70151, "stop_name": "CALTRAIN - ATHERTON STATION", "stop_lat": 37.464458, "stop_lon": -122.198152, "zone_id": 3331 }];
document.write('<pre>' + JSON.stringify(object, 0, 4) + '</pre>');

于 2016-04-04T13:45:03.783 回答
4

您可以使用以下内容检查字符串是否是 JSON 对象的有效表示:

function parseJson(str) {
    try {
        return JSON.parse(str);
    }
    catch (err) {
        return false;
    }
}

用法:

var parsed = parseJson(someInput);
if (parsed === false) {
    // Invalid json
}

如果您还需要使用一些自定义逻辑来验证对象(例如“我需要您的对象具有属性 X 和 Y”),请查看JsonSchema

于 2016-04-04T13:48:54.330 回答