Регулярное выражение, чтобы определить, действителен ли частичный ввод JSONJAVA

Программисты JAVA общаются здесь
Anonymous
Регулярное выражение, чтобы определить, действителен ли частичный ввод JSON

Сообщение Anonymous »

У меня есть сценарий, в котором мне нужно подтвердить, является ли частичный ввод (см. Ниже) действительным JSON или нет? Я направил этот ответ, чтобы определить, является ли данная строка действительным JSON или нет. < /p>

Пример ввода: < /p>

Код: Выделить всё

 {
"JSON": [{
"foo":"bar",
"details": {
"name":"bar",
"id":"bar",
Что я уже пробовал:

/ (?(DEFINE)
(? -? (?= [1-9]|0(?!\d) ) \d+ (\.\d+)? ([eE] [+-]? \d+)? )
(? true | false | null )
(? " ([^"\n\r\t\\\\]* | \\\\ ["\\\\bfnrt\/] | \\\\ u [0-9a-f]{4} )* " )
(? \[ (?: (?&json) (?: , (?&json) )* )? \s* \]{0,1} )
(?
\s* (?&string) \s* : (?&json) )
(? \{ (?: (?&pair) (?: , (?&pair) )* )? \s* \}{0,1} )
(? \s* (?: (?&number) | (?&boolean) | (?&string) | (?&array) | (?&object) ) \s* )
) \A (?&json)\,{0,1} \Z /six
< /code>

Я сделал закрытие массива и объектов необязательно (разрешить ноль или один раз). Но есть некоторые случаи, когда это потерпит неудачу, например, когда вы откроете объект, не закрывая другой объект (показанный ниже), регулярность все еще найдет совпадение. < /p>

Недостаточно, но все же соответствует: < /p>

{
"JSON": [{
"foo":"bar",
"details": {
"name":"bar",
"id":"bar",{
< /code>

Как проверить частичный ввод JSON? Итак, теперь мне нужна корпорация, которая должна работать без рекурсии


Подробнее здесь: https://stackoverflow.com/questions/601 ... valid-json

Вернуться в «JAVA»