“改变JSON的角色

时间:2014-04-29 11:32:23

标签: objective-c nsstring

我有像drugnameexmp "20 tbl"

这样的drugnames

' " ' charachter为创建一个适用于JSON的NSString而烦恼。

{\"drugname\":\"%@\",drugname} 

如何更改'"' charachter for it?下面的代码是我尝试过的。

[drug setValue:[[drug objectForKey:@"drug_name"] stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""] forKey:@"drug_name"];

谢谢。

编辑:

它的行为如下:

{
"drugname":"drugnameexmp "20 tbl",
"id":123

}

" drugnameexmp" 20 tbl"看起来像这样:"drugnameexmp " + 20 tbl" ' " '解析NSString。我想要" drugnameexmp '20 tbl' "

NSString *s=[NSString stringWithFormat:@"{\"drugname\":\"%@\",\"id\":%d,drugname,id} "];
 NSData *myPostData = [s dataUsingEncoding:NSUTF8StringEncoding];
    NSMutableData *myMutablePostData = [[NSMutableData alloc]initWithData:myPostData];

    [request setPostBody:myMutablePostData];
    [request setRequestMethod:@"POST"];
    [request addRequestHeader:@"Content-Type" value:@"application/json"];
    [request setDelegate:self];
    [request startSynchronous];

1 个答案:

答案 0 :(得分:1)

使用JSON序列化程序要容易得多。

NSDictionary *JSON = @{ @"drugname" : drugname, @"id" : ID };
NSData *myPostData = [NSJSONSerialization dataWithJSONObject:JSON options:0 error:NULL];