Проблема строки Chaiscript между Visual Studio и Xcode

Я столкнулся с очень странной ошибкой или, скорее всего, я что-то упускаю. Мой скрипт отлично работает при компиляции с VS 2015, но дает сбой, когда я переключаюсь на Mac и использую Xcode 9.

Проблема в том, что на Mac chaiscript удаляет начало возвращаемых строк. Я не знаю, почему? Вот проблема: на стороне С++ у меня есть такой класс, который подключается к API и сохраняет ответ API в JSONString:

class MyClass
{
  public string JSONString;
  public void Get(URL);
}

Этот класс создан из chaiscript и содержит данные JSON. Вот код:

def GetAPIData()
{
  var myurl = "Https://api.domain.com";
  auto &request = MyClass();
  request.Get(myurl);
  return request.JSONString;
}

var response = GetAPIData();

Когда я записываю строку из GetAPIData, в Windows это выглядит примерно так:

[{"id": 91, "name": "aaa", "status": "Active"}, {"id": 2, "name": "bbb", "status": "Active"}]

На Mac:

: "aaa", "status": "Active"}, {"id": 2, "name": "bbb", "status": "Active"}]

Почему это может происходить?


person Carl    schedule 01.03.2019    source источник
comment
Итак, у вас есть класс MyClass, который ведет себя по-разному в Windows и Mac. Не могли бы вы показать нам код для MyClass? Казалось бы, вот в чем беда.   -  person john    schedule 02.03.2019


Ответы (1)


Я почти уверен, что это ошибка. Мне удалось обойти эту проблему, обернув request.JSONString с помощью to_string().

def GetAPIData()
{
  var myurl = "Https://api.domain.com";
  auto &request = MyClass();
  request.Get(myurl);
  return to_string(request.JSONString);
}
person Carl    schedule 02.03.2019