Так что я недавно установил JSONCPP и по какой-то причине это дает мне ошибки, когда я пытаюсь этот код:JSONCPP не читает файлы правильно
#include <json.h>
#include <iostream>
#include <fstream>
int main(){
bool alive = true;
while (alive){
Json::Value root; // will contains the root value after parsing.
Json::Reader reader;
std::string test = "testis.json";
bool parsingSuccessful = reader.parse(test, root, false);
if (!parsingSuccessful)
{
// report to the user the failure and their locations in the document.
std::cout << reader.getFormatedErrorMessages()
<< "\n";
}
std::string encoding = root.get("encoding", "UTF-8").asString();
std::cout << encoding << "\n";
alive = false;
}
return 0;
}
А вот файл:
{
"encoding" : "lab"
}
Он говорит, что в строке 1, столбце 1 есть синтаксическая ошибка и что должно быть значение, объект или массив. Кто-нибудь знает, как это исправить?
EDIT: Изменен текущий код, от Pastebin
Для форматирования кода, выделите ее и нажмите CTRL + K. Используйте предварительный просмотр. – EboMike 2010-11-25 01:36:56
Downvote - это потому, что просто _прочитайте документацию_ вместо случайного угадывания аргументов функции, и все будет в порядке. – 2015-02-14 19:38:08
@LightnessRacesinOrbit Фактически, документация для этого аргумента читает _ «кодированную строку UTF-8, содержащую прочитанный документ». _, Которая по меньшей мере немного неоднозначна, поскольку можно было бы сделать вывод из используемого слова «документ», что std :: запрошенная строка действительно должна быть файловым путем. Фактически, я просто сделал ту же ошибку, что и ОП. – Tom 2016-01-13 12:53:48