Вычитал из этой статьи, что есть парсер JSON. Удобный парсер, но при вводе значений на русском языке выводится ошибка.
Возникло необработанное исключение по адресу 0x753BB760
Вот пример кода:
nlohmann::json response_json;
auto response_json = nlohmann::json::parse("{ \"Пример\": [\"Нуль\"] }");
Вот этот код рабочий:
nlohmann::json response_json;
auto response_json = nlohmann::json::parse("{ \"Value\": [\"NULL\"] }");
Никто не в курсе как изменить данную ситуацию? Поправить может что-то, чтобы оно работало.
Убедитесь, что сохраняете файл с исходным кодом в кодировке UTF-8. Или настройте компилятор подходящим образом. Вероятно, самым простым способом будет просто указать префикс u8
перед строкой с JSON.
N.B.: Ваша библиотека поддерживает только эту кодировку.
P.S.: Возможно, вам будет удобно использовать сырые С++ строки. Подробнее можно прочитать, например, на MSDN.
Ваш пример у меня отлично работает:
using namespace nlohmann;
json ex = json::parse(u8R"({ "Пример": [ "Нуль" ] })");
for (json::iterator it = ex.begin(); it != ex.end(); ++it) {
std::cout << it.key() << ": " << it.value() << "\n";
}
utf-8
символы нужно экранировать:
{"\u041f\u0440\u0438\u0432\u0435\u0442":1}
Что в строковом литерале c++ превратится в:
"{\"\\u041f\\u0440\\u0438\\u0432\\u0435\\u0442\":1}"
Хотя некоторые парсеры умеют парсить сырой utf-8 в JSON, стандарт этого не позволяет.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Например, есть mysql-таблица:
На въюхе у меня должно быть два цикла: один выводит все категории, второй, который находится внутри первого, выводит все бренды данной категорииПример:
Народ подскажите решениеЕсть пользователь который с консоли вводит числа эти числа переводятся в другую систему координат и их надо записать...
Здравствуйте, что-то совсем запутался с fxmlУ меня есть два Java-класса