删除JSON响应中的第一行

时间:2015-02-28 15:10:41

标签: objective-c json string newline

我正在非正式地使用Google Speech API。如果你发送一个说“测试”的音频文件,它会回复:

{"result":[]}
{"result":[{"alternative":[{"transcript":"test","confidence":0.88845605},{"transcript":"tests"},{"transcript":"the test"},{"transcript":"text"},{"transcript":"Test"}],"final":true}],"result_index":0}

我需要删除此响应的第一行,以便我的解析器不会出错。

是否有官方方法删除JSON中的第一行?

我正在使用Xcode 6.1(我还没有更新Xcode)和iOS 6.1 SDK。

2 个答案:

答案 0 :(得分:1)

// Assuming your string looks something like this
NSString *fileContents = @"Bob Smith: 1 (234)-567-8901\nBob Smith: bob@bob.com";
// Lets store the information on each new line in an array
NSArray *lines = [fileContents componentsSeparatedByString:@"\n"];
// The second object will contain the email
NSString *email = [lines objectAtIndex:1];
NSLog(@"%@",email);

答案 1 :(得分:0)

NSString* fileRoot = [[NSBundle mainBundle]
                          pathForResource:@"test" ofType:@"txt"];
NSString* fileContents = [NSString stringWithContentsOfFile:fileRoot
                              encoding:NSUTF8StringEncoding error:nil];


NSArray* allLinedStrings = [fileContents componentsSeparatedByCharactersInSet:
         [NSCharacterSet newlineCharacterSet]];  

在此数组中,您可以判断它是否包含电话号码,str是每个元素。

NSString *phoneNumber = [str componentsSeparatedByString:@":"][1];

如果电话号码是phoneNumber格式。然后删除这一行。