0

我将 json 数据发布到 .net webservice。我正在使用下面的代码。在检查 web 服务时它显示 MessageValue:Failed。

-(void)sentSignUpDetails { NSLog(@"sentSignUpDetails.......");

NSString *jsonRequest = [NSString stringWithFormat:@"{\"UserName\":\"%@\",\"Password\":\"%@\",\"DeviceToken\":\"%@\"}",self.emailtextfield.text,self.passwordtextfield.text,appDelegate.Devicetoken];

NSLog(@"jsonRequest is %@", jsonRequest);
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"http://brewedlife.testshell.net/Brewedlife/AppSignup"]];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];

NSLog(@"1239");
NSData *requestData = [NSData dataWithBytes:[jsonRequest UTF8String] length:[jsonRequest length]];

[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];

con = [NSURLConnection connectionWithRequest:request delegate:self];

}

  • (无效)连接:(NSURLConnection *)连接didReceiveData:(NSData *)data1

{

 if (!data) 
  {
    data = [[NSMutableData alloc] initWithData:data1];
  }

 else 
  {
    [data appendData:data1];
  }

它得到 json failed 错误如下 -JSONValue failed。错误跟踪是:(“错误域=org.brautaset.JSON.ErrorDomain Code=3 \“无法识别的前导字符” UserInfo=0x15e880 {NSLocalizedDescription=无法识别的前导字符}请给出任何想法。谢谢

4

1 回答 1

0

像这样创建您的 JSON 请求

NSDictionary *jsonDict = [NSDictionary dictionaryWithObjectsAndKeys: @"ValueOfUsername", @"keyOfUserName", @"ValueOfPassword", @"Password", @"ValueOfDeviceToken", @"DeviceToken",nil];
NSString *req = [jsonDict JSONRepresentation];

如果您收到编码错误,请查看这是否有效NSUTF8StringEncoding

于 2012-10-10T23:23:47.947 回答