Используя gson для разбора файла JSON, происходит нечто странное - PullRequest
2 голосов
/ 01 марта 2012

Используя анализатор json от Google , я проверяю содержимое файла, чтобы определить, можно ли его проанализировать:

...
FileReader fullPathToAndNameOfFile = new FileReader(file);
isJson(fullPathToAndNameOfFile);
...

private static boolean isJson(FileReader f) {

    try {
        parser.parse(f);
    } catch (Exception e) {
        return false;
    }

    return true;
}

Проблема в следующем. Следующий формат проверяется без ошибок:

a:12
b:27
c:Mike

Что, конечно, не является допустимым форматом JSON.

Почему это?

1 Ответ

1 голос
/ 01 марта 2012

Я не могу воспроизвести проблему с кодом ниже.

private static boolean isJson(FileReader f) {
try{
     JsonElement json = new JsonParser().parse(f);
   }
catch (Exception e) {
     return false;
   }
return true;
}

Inside main

parser p = new parser();
String file = "C:\\Users\\RanRag\\test.txt";
FileReader fullPathToAndNameOfFile = new FileReader(file);

if(p.isJson(fullPathToAndNameOfFile))
   System.out.println("valid");
else
   System.out.println("invalid");

Вывод для вашего заданного содержимого файла = invalid.

Если я изменю содержимое файла на valid json . Например:

{ "name": "Simon" }

Выход = valid

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...