如何解析jsonData?
How to parse jsonData?
您好,我正在使用 ResponseData 响应越来越好但是在我解析它时显示 nil.first 这是我的响应
{
"type": "1",
"item": "Order created successfully.",
"order_id": "7"
}
{
"multicast_id": 9215180185089775977,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [{
"message_id": "0:1465191236656122%86acb02ff9fd7ecd"
}]
}
这是我的代码
NSData * urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"Response code: %ld", (long)[response statusCode]);
NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"Response ==> %@", responseData);
if (urlData)
{
jsonData=[[NSDictionary alloc] init];
jsonData = [NSJSONSerialization
JSONObjectWithData:urlData
options:NSJSONReadingMutableLeaves
error:nil];
如何解析这种响应?
使用 nsurlconnection 获取 json数据。
你需要 nsurlrequest 来生成请求和 nsurlconnection 来建立连接。一旦你建立了连接。有一些代表 nsurlconnectiondelegate 可以用来获取 json data.and 之后你可以轻松解析数据
检查您在 http://jsonlint.com/ 上的回复。这表明您的回答是否有效。
A JSON 响应应该是单个 NSDictionary 或 NSArray。但是你有两个字典。
要以编程方式检查您的响应是否有效,请使用:-
NSError *error;
if ([NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error] == nil)
{
// Handle error
}
如果有效,您可以继续转换。
您的json不正确
{
"type": "1",
"item": "Order created successfully.",
"order_id": "7"
}
{
"multicast_id": 9215180185089775977,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [{
"message_id": "0:1465191236656122%86acb02ff9fd7ecd"
}]
}
例如,您忘记了 comma/tag 或 close/open 括号是不正确的。尝试使用这个:
{
"type": "1",
"item": "Order created successfully.",
"order_id": "7",
"multicast_id": 9215180185089775977,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [{
"message_id": "0:1465191236656122%86acb02ff9fd7ecd"
}]
}
您好,我正在使用 ResponseData 响应越来越好但是在我解析它时显示 nil.first 这是我的响应
{
"type": "1",
"item": "Order created successfully.",
"order_id": "7"
}
{
"multicast_id": 9215180185089775977,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [{
"message_id": "0:1465191236656122%86acb02ff9fd7ecd"
}]
}
这是我的代码
NSData * urlData=[NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSLog(@"Response code: %ld", (long)[response statusCode]);
NSString *responseData = [[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSLog(@"Response ==> %@", responseData);
if (urlData)
{
jsonData=[[NSDictionary alloc] init];
jsonData = [NSJSONSerialization
JSONObjectWithData:urlData
options:NSJSONReadingMutableLeaves
error:nil];
如何解析这种响应?
使用 nsurlconnection 获取 json数据。 你需要 nsurlrequest 来生成请求和 nsurlconnection 来建立连接。一旦你建立了连接。有一些代表 nsurlconnectiondelegate 可以用来获取 json data.and 之后你可以轻松解析数据
检查您在 http://jsonlint.com/ 上的回复。这表明您的回答是否有效。
A JSON 响应应该是单个 NSDictionary 或 NSArray。但是你有两个字典。
要以编程方式检查您的响应是否有效,请使用:-
NSError *error;
if ([NSJSONSerialization JSONObjectWithData:data
options:kNilOptions
error:&error] == nil)
{
// Handle error
}
如果有效,您可以继续转换。
您的json不正确
{
"type": "1",
"item": "Order created successfully.",
"order_id": "7"
}
{
"multicast_id": 9215180185089775977,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [{
"message_id": "0:1465191236656122%86acb02ff9fd7ecd"
}]
}
例如,您忘记了 comma/tag 或 close/open 括号是不正确的。尝试使用这个:
{
"type": "1",
"item": "Order created successfully.",
"order_id": "7",
"multicast_id": 9215180185089775977,
"success": 1,
"failure": 0,
"canonical_ids": 0,
"results": [{
"message_id": "0:1465191236656122%86acb02ff9fd7ecd"
}]
}