在目标c中创建JSON,无效的JSON

我正在创建一个JSON ,以在线查看其显示错误时发送到服务中:

错误:第1行解析错误:[{“SAHExpertCode ” - ^期望'STRING','}','未定义'我的JSON是[{“SAHExpertCode ”:“”,“ShiftType “:”AM “,”LocFunId “:”CLT0004218 “,”SAHQualCode “:”CA “}]请告诉我什么是错误的以及如何纠正它。首先, filterString = [{“SAHExpertCode”:“”“ShiftType”:“AM”,“LocFunId”:“CLT0004218”,“SAHQualCode”:“CA”}]检查发现它是正确的,然后创建一个字典NSDictionary * dictData = @ {@“MbrId”:[USER_DEFAULTS valueForKey:@“MemberId”],@“StrFilter”:[NSString stringWithFormat:@“%@”,filterString],@“shiftCrtlNos”:shftCntrlNmbrs}; NSMutableArray * finalArray = [[NSMutableArray alloc] init]; [finalArray addObject:dictData]; NSString * finalString = [self ConvertArrayToJsonData:finalArray]; finalString = [finalString stringByReplacingOccurrencesOfString:@“ n”withString:@“”]; finalString = [finalString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];创建最终字符串后,它正在生成符号 JSON转换我的代码是 - (NSString *)ConvertArrayToJsonData:(NSMutableArray *)array {NSError error; NSData jsonData = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrinted error:&error]; NSString * JSONString; 如果(!jsonData){NSLog(@“error:%@”,error); } else {JSONString = [[NSString alloc] initWithBytes:[jsonData bytes] length:[jsonData length] encoding:NSUTF8StringEncoding]; // NSLog(@“jsonstring:%@”,JSONString); }返回JSONString; } //我需要像[{“StrFilter”:“[{”SAHExpertCode “:”“,”ShiftType “:”PM “,”LocFunId “:”CLT0004218 “ ,“SAHQualCode”:“CA ”}]“,”MbrId“:”MBR0000035“,”shiftCrtlNos“:”0080013526,0080014697“}]也告诉我如何从字符串中删除


我用finalString = [finalString stringByReplacingOccurrencesOfString:@“”withString:@“”]替换了不需要的符号; 在JSON字符串中。


我建议你去www.json.org并查看JSON数据的正确格式。 获取格式正确的JSON最简单的方法是创建一个数组或字典,并将其转换为JSON,然后使用NSJSONSerialization完成这项工作。


只需使用iOS的默认NSJSONSerialization方法即可

在下面的例子中,我有一个“postMenuArray”,我正在转换JSON。

NSData * postMenuSerial = [NSJSONSerialization dataWithJSONObject:postMenuArray options:0 error:nil];

NSString *Menujson = [[NSString alloc] initWithBytes:[postMenuSerial bytes] length:[postMenuSerial length] encoding:NSUTF8StringEncoding];

在这里我得到了JSON响应

Menujson = [Menujson stringByReplacingOccurrencesOfString:@" "withString:@""];

最后,我删除所有的间距。

仍然面临的问题尝试这个

Menujson = [Menujson stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
链接地址: http://www.djcxy.com/p/68341.html

上一篇: JSON creation in objective c, invalid JSON

下一篇: Restoring NSArray from file