我有一个要求,我从后端获取JSON数据,我必须在textarea.current中显示数据,但它没有格式化和验证。现在
1)如何在textarea中美化JSON? 2)如何在保存之前对其进行验证?
我搜索了所有javascript / jquery插件,但我没有得到我想要的东西。我想要像jslint这样的东西
提前致谢
答案 0 :(得分:15)
对格式化的JSON字符串使用JSON.stringify(object, 0, 4)
和space参数。
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>');
&#13;
答案 1 :(得分: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。