我是ios开发的新手。我有一个看起来像的json
{"result":[]}
{"result":[{"alternative":[{"transcript":"free","confidence":0.63226712},{"transcript":"we"}],"final":true}],"result_index":0}
我的编码部分
- (BOOL)didReceiveVoiceResponse:(NSData *)data
{
// NSLog(@"data :%@",data);
// NSError *jsonError = nil;
////
NSString *responseString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"responseString: %@",responseString);
NSData *data1 = [responseString dataUsingEncoding:NSUTF8StringEncoding];
NSLog(@"data1: %@",data1);
NSData *data2 = [responseString dataUsingEncoding:NSUTF8StringEncoding];
id json = [NSJSONSerialization JSONObjectWithData:data2 options:0 error:nil];
NSLog(@"====%@",json);
NSLog(@"%@",[json objectForKey:@"result"]);
控制台日志
2016-05-06 09:55:34.909 SpeechToTextDemo[79631:2980023] responseString: {"result":[]}
{"result":[{"alternative":[{"transcript":"free","confidence":0.63226712},{"transcript":"we"}],"final":true}],"result_index":0}
2016-05-06 09:55:34.909 SpeechToTextDemo[79631:2980023] data1: <7b227265 73756c74 223a5b5d 7d0a7b22 72657375 6c74223a 5b7b2261 6c746572 6e617469 7665223a 5b7b2274 72616e73 63726970 74223a22 66726565 222c2263 6f6e6669 64656e63 65223a30 2e363332 32363731 327d2c7b 22747261 6e736372 69707422 3a227765 227d5d2c 2266696e 616c223a 74727565 7d5d2c22 72657375 6c745f69 6e646578 223a307d 0a>
2016-05-06 09:55:34.909 SpeechToTextDemo[79631:2980023] ====(null)
2016-05-06 09:55:34.910 SpeechToTextDemo[79631:2980023] (null)
请在上面找到我的编码部分和控制台日志。请指导我如何解决这种想法。我要tanscript
重视。如何获得这个价值。谢谢
您的回复格式不正确。首先添加以下行以通过以下行删除多余的空结果字符串:
yourJsonString = [yourJsonString stringByReplacingOccurrencesOfString:@"{\"result\":[]}" withString:@""];
然后,尝试以下代码:
yourJsonString = [yourJsonString stringByReplacingOccurrencesOfString:@"{\"result\":[]}" withString:@""];
NSData* jsonData = [yourJsonString dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *responseObj = [NSJSONSerialization
JSONObjectWithData:jsonData
options:0
error:&error];
if(! error) {
NSArray *responseArray = [responseObj objectForKey:@"result"];
for (NSDictionary *alternative in responseArray) {
NSArray *altArray = [alternative objectForKey:@"alternative"];
for (NSDictionary *transcript in altArray) {
NSLog(@"transcript : %@",[transcript objectForKey:@"transcript"]);
}
}
} else {
NSLog(@"Error in parsing JSON");
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句