0

我正在使用包含对象数组的 Web 服务。但是在服务器端,他们只获得所有字段的空值。

客户端代码是:

        NSURL *url = [NSURL URLWithString:urlString];
        NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url];
        NSURLConnection *connection= [[NSURLConnection alloc] initWithRequest:urlRequest
                                                                     delegate:self];
        //************DATA formation
        NSMutableDictionary *jsonDict = [[NSMutableDictionary alloc]init];
        NSMutableDictionary *jsonDict1 = [[NSMutableDictionary alloc]init];

        [jsonDict setObject:@"3" forKey:@"rollNo"];
        [jsonDict setObject:@"Ezhil" forKey:@"FirstName"];
        [jsonDict setObject:@"Arasu" forKey:@"LastName"];

        [jsonDict1 setObject:@"4" forKey:@"rollNo"];
        [jsonDict1 setObject:@"XYZ" forKey:@"FirstName"];
        [jsonDict1 setObject:@"ABC" forKey:@"LastName"];

        NSArray *jsonArray=[[NSArray alloc]initWithObjects:jsonDict,jsonDict1, nil];

         //Converting to JSON string.
         SBJsonWriter *writer = [[SBJsonWriter alloc] init];
         NSString *jsonString = [writer stringWithObject:jsonArray];

         NSLog(@"JSON String : %@",jsonString);

        //************Setting DATA in URL
        [urlRequest setHTTPMethod:@"POST"];
        [urlRequest setValue:@"application/json" forHTTPHeaderField:@"Accept"];
        [urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];
        [urlRequest setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];
        [connection start]; 

        // Code for response....

我不知道我错了。任何人都可以帮助我解决这个问题。提前致谢。

4

2 回答 2

0

我会废弃 SBJson 的东西,只使用本机控件......

做所有与你一样的事情,但删除 SBJsonWriter 的东西并这样做来设置请求的主体......

[urlRequest setHTTPBody:[NSJSONSerialization dataWithJSONObject:jsonArray options:NSJSONWritingPrettyPrinted error:&error]];

那应该行得通。

于 2013-01-08T12:01:18.770 回答
0

谢谢.. 应用程序工作正常,无需任何修改。问题出在服务器端。但我认为我们可以接受您的建议,而不是使用外部框架。

在这两种情况下,我都得到这样的 json 对象,

JSON String : 
 [{"rollNo":"3","FirstName":"Ezhil","LastName":"Arasu"},
  {"rollNo":"4","FirstName":"XYZ","LastName":"ABC"}]
于 2013-01-09T04:56:27.153 回答