I got the solution.
First I tried your code 
NSString *temp=@"{\n    name =     {\n        dob = \"\";\n        age = \"61\";\n        family =         (\n                        {\n                location = location;\n                mobile = mobile;\n            }\n        );\n    };\n}";
My out put result is
null
Then I changed the JSON format.
So now your code should be
NSString *strJson=@"{\"name\":{\"dob\":88,\"age\":61},\"family\" : [{\"location\":\"us\",\"mobile\":\"mobile\"}]}";
NSData *data = [strJson dataUsingEncoding:NSUTF8StringEncoding];
id jsonOutput = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSLog(@"%@",jsonOutput);
The printed result is
{
 family =     (
            {
        location = us;
        mobile = mobile;
    }
);
name =     {
    age = 61;
    dob = 88;
};
}
You have to remember that when you convert string to json
\n must be \"value\"
= must be :
( must be [
number must be 100(or anything else)
An object is an unordered set of name/value pairs. An object begins
  with { (left brace) and ends with } (right brace). Each name is
  followed by : (colon) and the name/value pairs are separated by ,
  (comma).

An array is an ordered collection of values. An array begins with [
  (left bracket) and ends with ] (right bracket). Values are separated
  by , (comma).

A value can be a string in double quotes, or a number, or true or
  false or null, or an object or an array. These structures can be
  nested.

A string is a sequence of zero or more Unicode characters, wrapped in
  double quotes, using backslash escapes. A character is represented as
  a single character string. A string is very much like a C or Java
  string.

A number is very much like a C or Java number, except that the octal
  and hexadecimal formats are not used.

Finally 
Whitespace can be inserted between any pair of tokens. Excepting a few
  encoding details, that completely describes the language.
I got this useful data from this