【发布时间】:2014-08-01 21:25:08
【问题描述】:
我是 iOS 新手。我有需要解析的 JSON 数据:
{
"allseries":[
{
"type":"HR",
"title":"Heart Rate",
"xLabel":"Time",
"yLabel":"Beats per Min",
"defaultUnit":"BPM",
"url":"info/info?user=admin%40korrent.com&type=HR",
"size":18,
"firstTs":1406755651,
"lastTs":1406841254
},
{
"type":"TEMP",
"title":"Temperature",
"xLabel":"Time",
"yLabel":"Temperature",
"defaultUnit":"F",
"url":"info/info?user=admin%40korrent.com&type=TEMP",
"size":6,
"firstTs":1406854147,
"lastTs":1406854283
}
],
"status":"OK"
}
到目前为止,这是我的代码:
NSString *dataReceived= [[NSString alloc] initWithData:_responseData encoding:NSUTF8StringEncoding];
NSLog(@"--> async response data (string): %@", dataReceived);
NSData *jsonData = [dataReceived dataUsingEncoding:NSUTF8StringEncoding];
NSError *jsonError;
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:jsonData options:nil error:&jsonError];
NSLog(@"JSON key and value %@", [dict description]);
NSLog(@" %@ ", dict[@"allseries"]);
NSString *jsonString=dict[@"allseries"];
if (_programState == 4){
NSLog(@"state is 4");
NSLog(@"%@",jsonString);
NSData *Data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
但是,代码为这一行抛出了无效参数异常:
NSData *Data = [jsonString dataUsingEncoding:NSUTF8StringEncoding];
此外,jsonString 似乎完全“无法操作”。我无法拆分它,将字符串附加到它等等。那么有什么问题?
【问题讨论】:
-
您有
_responseData,只需在NSJSONSerialization JSONObjectWithData中使用它即可添加不仅需要而且不正确的代码。