создать действительный файл json, используя nlohmann :: json - PullRequest
0 голосов
/ 31 марта 2020

Я пытаюсь создать действительный файл JSON, который выглядит следующим образом:

[{"id": 1, "price": 0, "qty": 0}, {"id": 1, "цена": 1, "кол-во": 1}, {"id": 2, "цена": 2, "кол-во": 2}]

my текущий код создает

{"id": 1, "price": 0, "qty": 0} {"id": 1, "price": 1, "qty": 1} {"id": 2, "цена": 2, "кол-во": 2}

это код:

int main() {
  std::ofstream f;
  f.open("test.json",std::ios_base::trunc |std::ios_base::out);

  for(int i =0 ;i < 100 ; i++)
  {
    json j = {
        {"id",i},
        {"qty",i},
        {"price",i}
    };
    f << j << "\n";
  }
  f.close();
return 0;
}

1 Ответ

2 голосов
/ 31 марта 2020

Просто используйте json::array:

int main() {
  json result = json::array();
  for (int i =0; i < 100 ; i++) {
    json j = {
        {"id",i},
        {"qty",i},
        {"price",i}
    };
    result.push_back(j);
  }

  {
    std::ofstream f("test.json",std::ios_base::trunc |std::ios_base::out);
    f << result;
  }
  return 0;
}
...