Я хочу проанализировать следующий массив массивов, используя команду json. Моя кодовая среда VS2019 с Unreal Engine v4.24.3. Я новичок в C ++.
const char* json = "{ \"data\":[[0.0,1.1],[2.1,3.1]] }";
Я уже ссылался на Rapid json, получить значение внутри массива другого массива & Обработка массивов массивов целых чисел с быстрым json
Для массива integer следующий код работает нормально.
const char* json = "{ \"data\":[[0,1],[2,3]] }";
Document d;
d.Parse(json);
const rapidjson::Value& b = d["data"];
for (rapidjson::SizeType i = 0; i < b.Size(); i++)
{
const rapidjson::Value& c = b[i];
UE_LOG(LogTemp, Log, TEXT("%d: Test Data"), c[rapidjson::SizeType(0)].GetInt());
}
Возвращает ->
LogTemp: 0: Test Data //Expected values
LogTemp: 2: Test Data
Но для массива массивов со значениями Float следующий код не работает.
const char* json = "{ \"data\":[[0.5,1.1],[2.1,3.1]] }";
Document d;
d.Parse(json);
const rapidjson::Value& b = d["data"];
for (rapidjson::SizeType i = 0; i < b.Size(); i++)
{
const rapidjson::Value& c = b[i];
UE_LOG(LogTemp, Log, TEXT("%d: test Data"), c[rapidjson::SizeType(0)].GetFloat());
}
возвращает ->
LogTemp: 0: test Data
LogTemp: -1073741824: test Data
Как я могу выяснить это? Чего мне не хватает?