c++ - Objective-C & C++ 接口(interface) GSCBufferString 到字符串

标签 c++ objective-c json

我正在为 C++ 类编写 Objective-C 包装器。在 OC 方面,我必须采取 NSData (从 json 文件中读取)从中获取列表并将其转换为 std::vector< std::string > .到目前为止,这是我的代码(在 mm 文件中):

NSData *input = [NSData dataWithContentsOfFile:[NSString stringWithUTF8String:"1455469592904_acceldata742283.json"]];    
NSError* error;
    NSDictionary* jsonArray = [NSJSONSerialization JSONObjectWithData:input options:NSJSONReadingMutableContainers error:&error];
    NSMutableArray *accdata = [jsonArray valueForKeyPath:@"data.accelerometer" ];
    int size = [accdata count];
    vector<string> cppAccdata;
    for (int i = 0; i< size; i++){
        //~ cppAccdata.push_back();
        NSLog(@"%@",[accdata objectAtIndex:i]);
        }

accdata松散地说是一个字符串列表。 json 文件基本上看起来像这样(有更多行,但那不是重点):

{
  "data" : {
    "accelerometer" : [
      "1455463005.714     -8.311620700836182     -3.969735990142822     -3.737648066711425",
      "1455463005.724     -8.256703700256347     -4.017769660949707     -3.680336864471435" ] }}

代码的输出是:

2016-02-15 14:18:16.212 test-OC[10300] 1455463066.241     -7.960421244812011     -4.400093738555908     -3.746177410125732
2016-02-15 14:18:16.212 test-OC[10300] 1455463066.261     -8.019677735900878     -4.377498460388184     -3.634847032928467
2016-02-15 14:18:16.212 test-OC[10300] GSCBufferString

技术上我需要转换 [accdata objectAtIndex:i]到一个 std::string,我想它可以通过 C const char * 工作, 但我没能找到任何关于转换 GSCBufferString 的信息变成任何东西。我怎样才能做到这一点?也可能有一种更优雅的方式来遍历 accdata .

最佳答案

NSArray *accdata = [jsonArray valueForKeyPath:@"data.accelerometer" ];
vector<string> cppAccdata;
for (NSString *str in accdata) {
    cppAccdata.push_back(str.UTF8String);
}

关于c++ - Objective-C & C++ 接口(interface) GSCBufferString 到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35410777/

相关文章:

c++ - Make++o++ 提示具有用户定义的前置和后置增量运算符的类型

c++ - 在 C++ 中使用多态性访问类的孙子类

c++ - 使用 boost.python 返回内部引用的间歇性错误

iphone - 移动到分组 TableView 中不同单元格中的下一个 UITextField

javascript - 如何将数据发送到jade(pug)中的JSON属性?

c++ - 确定一组点是在正方形内部还是外部

ios - 通过 Cocoapods 自动向嵌入式框架添加动态库

iphone - 当服务器上的图像文件更改时,我的应用程序中的 SDWebImage 缓存图像会发生什么情况?

python - PayPal:Python 传入 JSON 请求未映射到 API 请求

java - 如何将 Android 设备中的 Whatsapp 联系人与移动联系人分开