I am trying to get my head around the NSJSONSerialization Class Reference. In the lack of a code-example at the developer.apple.com website, I´m lost. There are millions of examples all around the web with other json libaries, but I haven´t been able to get any of them to work with the latest build of xcode. (I´m running: Version 4.3.1 (4E1019) and testing on iPhone 5.0.1)
I want to fetch the data from the json file into my iphone using a button.
Lets say I get my data from the URL: http://companyurl/jsonfile.json (standard JSON-format)
The jsonfile.json looks somthing like this…;
{
"companylist":
[
{
"company":"Companyname 1",
"telephone":"1234567890",
"url":"http:\/\/www.companyname1.com\/",
"category":"category 1",
"position":"1",
},
{
"company":"Companyname 2",
"telephone":"2345678901",
"url":"http:\/\/www.companyname2.com\/",
"category":"category 2",
"position":"2",
},
{
"company":"Companyname 3",
"telephone":"3456789012",
"url":"http:\/\/www.companyname3.com\/",
"category":"category 3",
"position":"3",
}
]
}
What do I write in my .h, and my .m file?
Thanks for any help! :)
NSData *data=[NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://your_web_server/your_file...."]];
NSError *error=nil;
id response=[NSJSONSerialization JSONObjectWithData:data options:
NSJSONReadingMutableContainers error:&error];
NSLog(@"Your JSON Object: %@ Or Error is: %@", response, error);
NOTE: This code works on Xcode 4.2 with iOS 5.01 on simulator and 5.1 on iPad device at the moment
Thanks guys. I figured it out. (...and here is what I did:)
In my .m file I added this code:
- (IBAction)getDataFromJson:(id)sender {
NSURL *url = [NSURL URLWithString:@"http://yourwebsite.com/jsonfile.json"];
NSData *jsonData = [NSData dataWithContentsOfURL:url];
if(jsonData != nil)
{
NSError *error = nil;
id result = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
if (error == nil)
NSLog(@"%@", result);
}
}
In my .h file, I added this code:
@interface ViewController : UIViewController
- (IBAction)getDataFromJson:(id)sender;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With