У меня есть требование, когда я получаю строку json из другого API, и эта строка может быть или не быть допустимой строкой JSON. Как проверить правильность строки JSON или нет, если она недействительна, как я могу сделать ее действительной? Я хочу спросить, есть ли определенные символы, которые должны быть экранированы, и если они не экранированы, тогда мы получаем ошибку при разборе. Есть ли у нас API, чтобы строка JSON была действительной?Как сделать строку JSON Действительной, если это не так?
Я получил код, чтобы проверить, если строка JSON является действительным или нет
Javascript
if (/^[\],:{}\s]*$/.test('{section : "ABCDEFGHI"JKLMNOP"}'.replace(/\\["\\\/bfnrtu]/g, '@').
replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g, ']').
replace(/(?:^|:|,)(?:\s*\[)+/g, ''))) {
console.log('valid');
}else{
console.log('Not a valid');
}
* «Есть ли у нас API, чтобы строка json была действительной?» * Не встроен. Похоже, вы уже знаете, как проверить, действительно ли это или нет ([с тех пор как вы получили код здесь] (http://stackoverflow.com/a/3710506/218196)). Таким образом, * делает * действительным ваш фактический вопрос? –
Возможный дубликат [Как проверить, является ли строка допустимой строкой JSON в JavaScript без использования Try/Catch] (http://stackoverflow.com/questions/3710204/how-to-check-if-a-string-is -a-valid-json-string-in-javascript-without-use-try) –
@loanburger Возможно, но мне нужен способ сделать его действительным. – Duster