0

我遇到了一个非常奇怪的错误,或者很可能我错过了一些东西。我的脚本在使用 VS 2015 编译时运行完美,但在我切换到 Mac 并使用 Xcode 9 时失败。

问题是,在 Mac 上,chaiscript 删除了返回字符串的开头。我不知道为什么?这是问题所在:在 C++ 方面,我有一个这样的类,它连接到 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"}]

为什么会发生这种情况?

4

1 回答 1

0

我很确定这是一个错误。我能够通过用 to_string() 包装 request.JSONString 来解决这个问题。

def GetAPIData()
{
  var myurl = "Https://api.domain.com";
  auto &request = MyClass();
  request.Get(myurl);
  return to_string(request.JSONString);
}
于 2019-03-02T10:54:27.867 回答