First of all, if that is the reponse that you are getting, then probably it wont be recognized as JSON because JSON strings start with a '[' or '{' character. Hence, it wont be parsed. You have to make sure that the string you receive from the server is in proper JSON format or not. You can check the JSON string validation on this website : jsonlint.com
Now the code that you have tried will also not work because of the same reason, i.e improper JSON format. There can be many reasons so as to why JSON that is received is in a bad format. It also might be possible that your JSON might be embeeded in an XML string like as shown :
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">
[{"Title":"DemoTitle","CreationDate":"06/06/2014","Description":"DemoDescription"}]
</string>
This is just an example. So the conclusion here is : Make sure your JSON is in proper format, i.e starting with '[' or '{'.
As for the parsing code, this might help you :
NSString *link = [NSString stringWithFormat:@"yourServiceURL"];
NSString *encdLink = [link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSURL *url=[NSURL URLWithString:encdLink];
NSData *response = [NSData dataWithContentsOfURL:url];
NSError *error;
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:response options: NSJSONReadingMutableContainers error: &error];
This will fetch the JSON response from the service URL and then parse it using NSJSONSerialization and finally store the data in an array for further use.
Hope this helps.
options:nilis wrong, the types don't match (nilis an object, whereasoptions:expects an integer -- a bitmask, specifically.) - Apart from that, you should read the documentation of that very argument. If you had read it, you would have noticed theNSJSONReadingAllowFragmentsoption which does exactly what you want.