#javascript
#javascript
Вопрос:
Ложные тревоги мешают тестированию.
У меня есть только один, это для проверки, находится ли строка в формате JSON или нет
try{
return JSON.parse(item);
}catch(e){
return item;
}
Таким образом, альтернативным решением был бы способ тестирования JSON без try / catch
Ответ №1:
итак, здесь некоторый код, украденный из jquery src
и они утверждают, что украли его у https://github.com/douglascrockford/JSON-js
function isJson(json) {
var rvalidchars = /^[],:{}s]*$/;
var rvalidescape = /\(?:["\/bfnrt]|u[0-9a-fA-F]{4})/g;
var rvalidtokens = /"[^"\nr]*"|true|false|null|-?d (?:.d*)?(?:[eE][ -]?d )?/g;
var rvalidbraces = /(?:^|:|,)(?:s*[) /g;
return rvalidchars.test(
json.replace( rvalidescape, "@" )
.replace( rvalidtokens, "]" )
.replace( rvalidbraces, ""));
}
я надеюсь, что это поможет вам: D