Ios 如何在objective-c中使用来自localhost的json数据?

Ios 如何在objective-c中使用来自localhost的json数据?,ios,objective-c,json,Ios,Objective C,Json,我正在尝试解析json数据。它可以很好地处理来自实时服务器的数据。但是,当我将链接更改为http://localhost:8090。它停止工作了 - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. NSURL *site_url = [NSURL URLWithString:[NSString stringWithFormat:@"%@

我正在尝试解析json数据。它可以很好地处理来自实时服务器的数据。但是,当我将链接更改为
http://localhost:8090
。它停止工作了

- (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view.

    NSURL *site_url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/json/data/post?sid=%@", SECURE, PASSCODE]];

    NSData *jsonData = [NSData dataWithContentsOfURL:site_url];
    NSError *error = nil;
    NSDictionary *dataDictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:&error];

    self.items = dataDictionary;


}

我可以从网络浏览器的数据访问它。有人知道为什么吗?

这里需要的是实现NSURLConnection并从中接收数据

看看这个

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'data parameter is nil'
并从代表那里得到回应


这可以在这方面给你很大帮助。它在模拟器上工作,而不是在真正的设备上工作吗

开发应用程序时不应使用本地主机,而应使用服务器的本地IP。Localhost是调用服务器的计算机。当您在emulator上进行尝试时,服务器在同一台机器上,它可以工作,因为它们是相同的。 但是,当您在真正的设备上进行尝试时,localhost就是该设备,并且该设备没有安装服务器,因此它将失败。
顺便说一句,要在真正的设备上进行测试,它必须连接到同一个网络。

您的jsonData为零,可以从您的jsonDataNSLog发布NSLog,只显示jsonData:(null)我们是在谈论模拟器还是实际设备?我很直截了当地想出来。非常感谢,你说得对。
NSURL *site_url = [NSURL URLWithString:[NSString stringWithFormat:@"%@/json/data/post?sid=%@", SECURE, PASSCODE]];
NSURLRequest *req = [NSURLRequest requestWithURL:site_url];
NSURLConnection *con = [[NSURLConnection alloc] initWithRequest:req delegate:self];
[con start];