Я пытаюсь прочитать из JSON файла с условием while: std::eof
, но получаю следующее исключение:
terminate вызывается после создание экземпляра 'nlohmann :: detail :: parse_error' what (): [json .exception.parse_error.101] ошибка синтаксического анализа в строке 1, столбец 1: синтаксическая ошибка при синтаксическом анализе значения - неожиданный конец ввода; ожидаемый '[', '{' или литерал
это файл:
[{"id": 0, "цена": 0, " кол-во ": 0}, {" id ": 1," цена ": 1," кол-во ": 1}]
и это код:
#include <iostream>
#include <json.hpp>
#include <fstream>
using json = nlohmann::json;
int main() {
std::ofstream f;
f.open("test.json",std::ios_base::trunc |std::ios_base::out);
json result = json::array();
for(int i =0 ;i < 2 ; i++)
{
json j = {
{"id",i},
{"qty",i},
{"price",i}
};
result.push_back(j);
}
f << result;
f.close();
std::ifstream j;
std::string line;
j.open("test.json",std::ios_base::in);
json ob;
while (!j.eof())
{
j>>ob;
std::cout << ob << "\n";
}
j.close();
return 0;
}