Как в библиотеке RapidJSON передать значение JSON массива в vector?
Пишу нейросеть, веса после обучения для неё хотел хранить в файле json. Написал код, с использованием библиотеки RapidJSON. Код компилируется, хоть и с предупреждениями. Функция должна брать значения весов из json массива и передавать их уже в массив(vector) программы
#include "lib/rapidjson/document.h"
#include "lib/rapidjson/writer.h"
#include <vector>
using namespace rapidjson;
void ParseWeights(std::string path, std::vector <double> &weights, int numlayer) {
Document document;
document.Parse(path.c_str());
std::string slayer = "layer" + numlayer;
const Value& layer = document[slayer.c_str()];
assert(layer.IsArray());
for (size_t i = 0; i < layer.Size(); i++)
weights.at(i) = layer[i].GetDouble();
}
Сам json файл выглядит так:
{
"layer1" : [0.2, 0.12, 0.56, 0.58, 0.67, 0.12, 0.12, 0.45, 0.78, 0.55],
"layer2" : [0.3, 0.12, 0.56, 0.348, 0.673, 0.12, 0.12, 0.45, 0.8, 0.1]
}
В итоге при работе функции получаю вот такую ошибку:
main: lib/rapidjson/document.h:1154: rapidjson::GenericValue<Encoding, Allocator>::MemberIterator rapidjson::GenericValue<Encoding, Allocator>::FindMember(const rapidjson::GenericValue<Encoding, SourceAllocator>&) [with SourceAllocator = rapidjson::MemoryPoolAllocator<>; Encoding = rapidjson::UTF8<>; Allocator = rapidjson::MemoryPoolAllocator<>; MemberIterator = rapidjson::GenericMemberIterator<false, rapidjson::UTF8<>, rapidjson::MemoryPoolAllocator<> >]: Assertion IsObject() failed.
Долго разбирался, копался в документации библиотеки, но так что-либо сделать не смог