【问题标题】:Getting element from NSString从 NSString 获取元素
【发布时间】:2023-03-10 19:30:01
【问题描述】:

我的应用从 php web 服务获取数据并返回一个 NSString

["first name","last name","adress","test@test","000-000-0000","password","code","0"]

我怎样才能得到第二个元素?

【问题讨论】:

  • 你能展示你尝试过的代码吗
  • 我建议你使用json来处理这种数据。
  • 请上传 JSON

标签: ios iphone swift xcode6


【解决方案1】:

这是您从 Web 服务获取的 JSON 格式的字符串。

您必须从服务器获取字节。只需将存储字节的变量替换为我的变量“response data”。

代码:

NSError* error;
    NSArray* myResultArray = [NSJSONSerialization 
        JSONObjectWithData:responseData options:kNilOptions error:&error];

您将在变量“myResultArray”中获得一个数组,您可以通过索引获取所有值。

代码:

NSString* first name = [myResultArray objectAtIndex:0];

【讨论】:

  • 兄弟,提问者的输出是以数组而不是字典开头的,请更改您的答案
【解决方案2】:

你在这里给出的是一个数组而不是一个字符串。也许您可以提供更多详细信息,例如确切的响应和您在此处尝试的代码。

要将 JSON 字符串转换为 NSDictionary,您需要做的就是:

NSError *jsonError;
NSData *objectData = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:objectData
                                 options:nil 
                                    error:&jsonError];

到 NSArray :

NSArray *array = [NSJSONSerialization JSONObjectWithData:objectData options:nil error:&jsonError];
NSString *secondElement = array[1];

【讨论】:

  • 兄弟,提问者的输出是以数组而不是字典开头的,请更改您的答案
【解决方案3】:

该网络服务不返回 NSString。它以服务定义的某种格式运行数据,并将其转换为 NSString。找出格式实际上是什么,然后适当地转换它,例如使用 NSJSONSerialization。

【讨论】:

    【解决方案4】:

    您在此处显示的示例字符串似乎是有线的。这看起来更像是一个数组而不是字符串。如果这是NSArray,那么你可以这样做:

    NSArray *data = @[@"first name",@"last name", @"adress", @"test@test", @"000-000-0000", @"password", @"code", @"0"];
    NSLog (@"Second component = %@", data[1]);
    

    但是,如果您预计这是NSString,那么您将采用以下方式处理:

    NSString *test = @"[\"first name\",\"last name\",\"adress\",\"test@test\",\"000-000-0000\",\"password\",\"code\",\"0\"]";
    NSLog (@"Second component = %@", [test componentsSeparatedByString:@","][1]);
    

    【讨论】:

      猜你喜欢
      • 2018-07-05
      • 2012-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      • 2016-05-30
      • 2014-07-23
      相关资源
      最近更新 更多