2016-04-04 3 views
5

У меня есть требование, в котором я получаю данные JSON из backend, и я должен показать, что в textarea.currently данные поступают, но не отформатированы и не проверены. ТеперьКак я могу проверить и украсить JSON через плагин jquery/javascript

1) Как я могу украсить JSON в текстовом поле? 2) Как я могу проверить его перед сохранением?

Я искал для всех JavaScript/JQuery плагинов, но я не получаю то, что я want.I хочу что-то вроде JSLint

Заранее спасибо

ответ

4

Вы можете использовать следующую команду для проверки, что строка является допустимым представление объекта JSON:

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

Использование:

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

Если вы также необходимо проверить объект с помощью некоторой пользовательской логики (например, «I нужно, чтобы ваш объект имел атрибуты X и Y "), взгляните на JsonSchema.

+0

Спасибо @christophetd после стольких усилий он сработал ..;) –

15

Использование 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>');

+1

Ницца! Никогда не слышал об этом – christophetd

+1

Спасибо @Nina это сработало .. :) –