powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с JSON
12 сообщений из 12, страница 1 из 1
Проблема с JSON
    #37789805
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто как борется с дюймами и другими двойными ковычками в JSON?
Вот к примеру: jab{"id":"30" X 50"","displayName":"30" X 50""}
Использую
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

Обламывается соответственно там (в парсере):
JsonParser parser = new JsonParser();
je = parser.parse(jsonText).getAsJsonObject();

Может есть стандартные способы решения таких вопросов?
...
Рейтинг: 0 / 0
Проблема с JSON
    #37789826
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо побить того кто такой JSON прислал. Парсер не виноват. Тот кто сформировал JSON должен был заэскейпить данные. Обратным слэшом, вроде.
...
Рейтинг: 0 / 0
Проблема с JSON
    #37789834
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я не могу побить автора. Руки коротки. :)
...
Рейтинг: 0 / 0
Проблема с JSON
    #37789839
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jabЯ не могу побить автора. Руки коротки. :)
Это не валидный JSON. Должно быть что-то такое.
{"id":"30\" X 50\"","displayName":"30\" X 50\""}
Как это можно забороть вообще? Выкидывайте исключение, что формат не валидный. :)
...
Рейтинг: 0 / 0
Проблема с JSON
    #37789886
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тогда конкретно для этого примера с дюймами можно попробовать так:
String jsonText = docj.text().replaceAll("([0-9]+)\"", "$1\\\"");
Но что-то не заменят. По идее должно работать. Чот не то сделал видно.
...
Рейтинг: 0 / 0
Проблема с JSON
    #37789893
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jabТогда конкретно для этого примера с дюймами можно попробовать так:
String jsonText = docj.text().replaceAll("([0-9]+)\"", "$1\\\"");
Но что-то не заменят. По идее должно работать. Чот не то сделал видно.
Направление, конечно, интересное. Но надо же как-то и валидные кавычки пропустить. Иначе он все числовые значения тоже заэскейпит.
...
Рейтинг: 0 / 0
Проблема с JSON
    #37789898
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы точно не с той стороны копаете. Кто вам этот JSON присылает? GWT?
...
Рейтинг: 0 / 0
Проблема с JSON
    #37789942
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтоб числовое значение не заэскейпить, нужно немного подправить регулярку. А также он не хочет заменять в реплэйсе \\\ такую конструкцию, но мы пойдем другим путем %22.
Вот новый вариант
String jsonText = docj.text().replaceAll("([0-9]+)\"([^,])", "$1$2%22");
...
Рейтинг: 0 / 0
Проблема с JSON
    #37789981
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мм.. опечатался вместо "$1$2%22" надо "$1%22$2" тогда будет
{"id":"30%22 X 50%22","displayName":"30%22 X 50%22"}
...
Рейтинг: 0 / 0
Проблема с JSON
    #37790028
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczВы точно не с той стороны копаете. Кто вам этот JSON присылает? GWT?
Нет определенного человека. Перд мной стоит задача парсить разные сайты. Иногда встречаются вот такие вот JSON уродские. Но нужно всеравно распарсить. Методов воздействия на авторов сайтов нет.
...
Рейтинг: 0 / 0
Проблема с JSON
    #37790047
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jabBlazkowiczВы точно не с той стороны копаете. Кто вам этот JSON присылает? GWT?
Нет определенного человека. Перд мной стоит задача парсить разные сайты. Иногда встречаются вот такие вот JSON уродские. Но нужно всеравно распарсить. Методов воздействия на авторов сайтов нет.
ДА! Обожаю интернет! Там такого можно встретить, что закачаешься.

А такое часто встречается? Может это библиотека какая-нибудь генерит и можно прогуглить как она работает?
...
Рейтинг: 0 / 0
Проблема с JSON
    #37793191
jab
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonidv , не очень часто. Но встречается много разного. Нет единого подхода. Это интернет магазины такое генерят, а их сотни.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с JSON
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]