1

「care&love」のような特別な文字を解析しようとすると、「care」のみが表示され、「&」の後の部分が切り捨てられます 完全な文字列を表示するにはどうすればよいですか???

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

NSString *postJson = [NSString stringWithFormat:@"&json=%@", jsonRequest];

NSData *requestData = [postJson dataUsingEncoding:NSUTF8StringEncoding];

[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];
4

2 に答える 2

0

Cocoa に組み込まれている JSON シリアライゼーションを使用できます。これにより、不適切な文字列エスケープ (現在のコードの問題である可能性が最も高い) が除外されます。

サンプル:

NSError* error = nil;
NSDictionary* jsonDict = @{@"json": @"EL- STR 261: HAUL & SPOT"};
NSData* requestData = [NSJSONSerialization dataWithJSONObject:jsonDict options:kNilOptions error:&error];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[request setValue:[NSString stringWithFormat:@"%d", [requestData length]]  forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: requestData];
于 2013-08-23T11:40:27.920 に答える