如何解析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 响应应该是单个 NSDictionaryNSArray。但是你有两个字典

要以编程方式检查您的响应是否有效,请使用:-

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"
      }]
    }