Какой был бы лучший способ отправить вектор пар через TCP-сокеты - C ++ [duplicate]

Для Opera (он работает так же, как Chrome), я запустил браузер с помощью этой команды:

opera --user-data-dir="~/Downloads/opera-session" --disable-web-security

Проблема решена! Теперь я могу работать с локальным HTML-файлом (на моем жестком диске) и вызывать запросы Ajax для удаленного источника в том же файле.

Примечание 1: Вы можете указать любую папку в вашем домашнем каталоге как -user-data-dir.

Примечание 2: Протестировано на Debian & nbsp; 8 (Jessie) / Opera 39

Когда вы начинаете нормально (без параметров выше), тот же запрос попадает в блок кода ошибки.

58
задан Steve Van Opstal 5 January 2014 в 14:36
поделиться

1 ответ

Обратите внимание, что property_tree интерпретирует ключи как пути, например. старая пара «a.b» = «z» создаст {"a": {"b": "z"}} JSON, а не {"a.b": "z"}. В противном случае использование property_tree тривиально. Вот небольшой пример.

#include <sstream>
#include <map>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/json_parser.hpp>

using boost::property_tree::ptree;
using boost::property_tree::read_json;
using boost::property_tree::write_json;

void example() {
  // Write json.
  ptree pt;
  pt.put ("foo", "bar");
  std::ostringstream buf; 
  write_json (buf, pt, false);
  std::string json = buf.str(); // {"foo":"bar"}

  // Read json.
  ptree pt2;
  std::istringstream is (json);
  read_json (is, pt2);
  std::string foo = pt2.get<std::string> ("foo");
}

std::string map2json (const std::map<std::string, std::string>& map) {
  ptree pt; 
  for (auto& entry: map) 
      pt.put (entry.first, entry.second);
  std::ostringstream buf; 
  write_json (buf, pt, false); 
  return buf.str();
}
85
ответ дан 5 revs, 4 users 77% 24 August 2018 в 05:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: