Tag: json

NSData dataWithContentsOfURL:不返回浏览器中显示的URL的数据

我正在为Stack Exchange API制作iOS客户端。 经过漫长的斗争之后,我终于设法实现了身份validation – 这为我提供了一个令我坚守的URL。 当令牌有效时,URL如下所示: https://api.stackexchange.com/2.1/me/associated?key=_____MY_SECRET_KEY______&access_token=_____ACCESS_TOKEN_:)_____ 这个在合法的时候会把我带到这个JSON的网页中: {"items":[{"site_name":"Stack Overflow","site_url":"http://stackoverflow.com","user_id":1849664,"reputation":4220,"account_id":1703573,"creation_date":1353769269,"badge_counts":{"gold":8,"silver":12,"bronze":36},"last_access_date":1375455434,"answer_count":242,"question_count":26},{"site_name":"Server Fault","site_url":"http://serverfault.com","user_id":162327,"reputation":117,"account_id":1703573,"creation_date":1362072291,"badge_counts":{"gold":0,"silver":0,"bronze":9},"last_access_date":1374722580,"answer_count":0,"question_count":4},… 我用这个代码得到正确的JSON: NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"https://api.stackexchange.com/2.1/me/associated?key=__SECRET_KEY_:)__&access_token=%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"token"]]]; NSData *jsonData = [NSData dataWithContentsOfURL:url]; if (jsonData) { NSDictionary *JSON = [NSJSONSerialization JSONObjectWithData:jsonData options:kNilOptions error:nil]; } 但是,当手动使令牌无效时,URL仍然看起来相同,浏览器中的页面显示如下: {"error_id":403,"error_name":"access_denied","error_message":"`key` is not valid for passed `access_token`, token not found."} 但是, dataWithContentsOfURL:始终为零 。 为什么? 我究竟做错了什么? 我得到一个NSError返回: […]

POST请求使用application / x-www-form-urlencoded

后端开发人员在POST请求中给出了这些指示信息: 路线:{url} / {app_name / {controller} / {action} 控制器和行动应该在小型大写字母上。 APItesting链接:http: * ** * ** * ** * ** * *** 请求应该使用POST方法。 参数应该通过请求内容体(FormUrlEncodedContent)传递。 参数应该是json格式。 参数是关键敏感的。 在协议中没有5号的经验,我search了,并以我的代码结束。 -(id)initWithURLString:(NSString *)URLString withHTTPMEthod:(NSString *)method withHTTPBody:(NSDictionary *)body { _URLString = URLString; HTTPMethod = method; HTTPBody = body; //set error message errorMessage = @"Can't connect to server at this moment. Try again […]

核心数据的预填充版本?

我的应用程序涉及通过互联网获取一个大型的json文件,然后parsing成核心数据。 这很好,但是我怎样才能将这个Core Data数据库的已经填充版本join到我的应用程序中,所以当它们第一次启动的时候它就在那里。 用户可以决定稍后刷新它。

URL编码一个string

我收到一个json数据对象,然后从中提取一个string NSDictionary *jsonDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil]; NSString *country=jsonDictionary[@"address"][@"country"]; 然后我尝试使该string适合在URL中使用 NSString *newCountryString = [country stringByReplacingOccurrencesOfString:@" " withString:@"%%20"]; 但它不工作 如果我硬编码newCountryString它会工作,为什么呢?

包含正斜杠/和HTML的string的NSJSONSerialization序列化被错误地转义

我试图将一些简单的HTML转换为JSON对象中的string值,我无法获得string编码不能转义NSJSONSerialization中的string。 示例…我有一个string,其中包含一些基本的HTML文本: NSString *str = @"<html><body><p>Samples / Text</p></body></html>"; 所需的结果是JSON与HTML作为值: { "Title":"My Title", "Instructions":"<html><body><p>Samples / Text</p></body></html>" } 我正在使用标准技术将NSDictionary转换为包含JSON的NSString: NSMutableDictionary *dict = [NSMutableDictionary dictionary]; [dict setObject:str forKey:@"Instructions"]; [dict setObject:@"My Title" forKey:@"Title"]; NSError *err; NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&err]; NSString *resultingString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; NSLog(@"%@", resultingString); 这个方法生成的JSON是有效的,但是所有的正斜杠都被转义了: { "Title":"My Title", "Instructions":"<html><body><p>Samples \/ Text<\/p><\/body><\/html>" } […]

用SwiftyJSON处理JSON的例子

我想用SwiftJSON来处理json,但是我堆积了。 有没有人给我示例代码? 我试图使用这个库。 https://github.com/SwiftyJSON/SwiftyJSON 虽然我在同一个项目中放置了SwiftyJSON.swift,但是我有错误“没有这样的模块”SwiftyJSON“”所以纠正我的代码或者显示示例代码处理json从web与swiftyJSON库。 这是我的代码: import UIKit import SwiftyJSON // No such module "SwiftyJSON" class ViewController: UIViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. let url = NSURL(string: "http://express.heartrails.com/api/json?method=getPrefectures") var request = NSURLRequest(URL: url!) var data = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil) […]

我怎么能张贴JSONstring到服务器

这是jsonstring,我必须发布… { "data": { "description": "", "current_value": "", "serialno": "", "condition": "", "category": "category", "purchase_value": "", "new_or_used": "", "gift_or_purchase": "", "image": "" }, "subtype": "fd3102d8-bc19-424b-bca2-774a8fd7ea6f" } 如何发布为JSON?

iPad – 分析一个非常巨大的JSON – 文件(50和100 MB之间)

我试图parsing一个非常大的JSON文件在iPad上。 文件大小在50到100 MB之间(有一个初始文件,每个月会有一个新的全套数据,这些数据将被下载,parsing并保存到coredata中) 我正在为企业构build这个应用程序作为企业解决scheme–JSON文件包含敏感的客户数据,它需要保存在本地ipad,所以它将工作,即使离线。 当文件低于20MB时,它工作,但现在数据集变大了,我真的需要parsing它。 我在parsing过程中收到内存警告,并在第三次警告后,它只是崩溃。 我有几个不同的核心数据实体,我只是设置来自json文件(当应用程序第一次启动时)的所有值,并在所有事情完成后,我正在做[context save] 。 我希望有人能给我一些关于如何处理这些大文件的build议。 我正在考虑将json文件拆分成几个较小的json文件,并可能在多个线程中parsing它们,但是我不知道这是否是正确的方法。 我想一个大问题是整个文件被保存在内存中 – 也许有某种方式将它“stream”到内存或类似的东西? 我正在使用JSONKit( https://github.com/johnezang/JSONKit )parsing文件,因为我已经读过它是最快的一个(也许有一个更慢的内存更容易?)。 提前致谢。

用AFNetworkingparsingJSON响应

我已经在Objective-C中用AFNetworking设置了一个JSON文章,并使用以下代码发送数据到服务器: AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; NSDictionary *parameters = @{@"name": deviceName, @"model": modelName, @"pin": pin}; manager.requestSerializer = [AFJSONRequestSerializer serializer]; [manager.requestSerializer setValue:@"Content-Type" forHTTPHeaderField:@"application/json"]; [manager POST:@"SENSORED_OUT_URL" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { NSLog(@"JSON: %@", responseObject); } failure:^(AFHTTPRequestOperation *operation, NSError *error) { NSLog(@"Error: %@", error); }]; 我通过相同的请求接收信息,并希望将数据发送到NSString 。 我将如何去与AFNetworking做呢?

使用AFNetworking发送嵌套的JSON

要将注册数据发送到服务器,我使用JSON的forms如下: {"regData": { "City":"Some City", "Country":"Some Country", "Email_Id":"abc@gmail.com", "MobileNumber":"+00xxxxxxxxxx", "UserName":"Name Of user" } } 这是如何发送。 NSURL * url = [[NSURL alloc] initWithString:registerUrlString]; AFHTTPClient * httpClient = [[AFHTTPClient alloc] initWithBaseURL:url]; httpClient.parameterEncoding = AFJSONParameterEncoding; [[AFNetworkActivityIndicatorManager sharedManager] setEnabled:YES]; NSDictionary * params = @{@"regData": @{ @"City": self.cityField.text, @"Country": self.countryField.text, @"Email_Id": self.emailField.text, @"MobileNumber": self.numberField.text, @"UserName": self.userName.text, } }; NSMutableURLRequest * […]