Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 在目标c中创建JSON,JSON无效_Ios_Objective C_Json_Nsarray_Nsdictionary - Fatal编程技术网

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

Ios 在目标c中创建JSON,JSON无效,ios,objective-c,json,nsarray,nsdictionary,Ios,Objective C,Json,Nsarray,Nsdictionary,我正在创建一个JSON,在联机检查时发送,显示错误: 错误:第1行的分析错误: [{\'SAHExpertCode\' --^应为'STRING','}',得到'undefined' 我的JSON是[{“SAHExpertCode\”:\“\”,“ShiftType\”:“AM\”,“LocFunId\”:“CLT0004218\”,“SAHQualCode\”:“CA\”] 请告诉我出了什么问题以及如何更正它。首先,我正在制作JSON filterString=[{“SAHExpertCode

我正在创建一个
JSON
,在联机检查时发送,显示错误:

错误:第1行的分析错误: [{\'SAHExpertCode\' --^应为'STRING','}',得到'undefined' 我的JSON是[{“SAHExpertCode\”:\“\”,“ShiftType\”:“AM\”,“LocFunId\”:“CLT0004218\”,“SAHQualCode\”:“CA\”] 请告诉我出了什么问题以及如何更正它。首先,我正在制作JSON filterString=[{“SAHExpertCode”:““ShiftType”:“am”,“LocFunId”:“CLT0004218”,“SAHQualCode”:“CA”}]检查发现它是正确的,然后创建一个字典NSDictionary*dictData=@{“MbrId”:[用户默认值Forkey:@“MemberId”],@“StrFilter”:[NSString stringWithFormat:@“%@”,filterString],@“shiftCrtlNos”:shftcntrnmbrs};NSMutableArray*finalArray=[[NSMutableArray alloc]init];[finalArray addObject:dictData];NSString*finalString=[self ConvertArrayToJsonData:finalArray];finalString=[finalString StringByReplacingOfString:@“\n”with:@];finalString=[finalString stringByTrimmingCharactersInSet:[NSCharacterSet newlineCharacterSet]];在创建最终字符串后,它正在为JSON转换生成符号\我的代码是-(NSString*)ConvertArrayToJsonData:(NSMutableArray*)数组{N错误; NSData jsonData=[NSJSONSerialization dataWithJSONObject:数组选项:NSJSONWritingPrettypted error:&error];NSString*JSONString;if(!jsonData){NSLog(@“error:%@”,error);}else{JSONString=[[NSString alloc]initWithBytes:[jsonData bytes]长度:[jsonData长度]编码:NSUTF8STRING编码];//NSLog(@“JSONString:%@”,JSONString); } 返回JSONString; } //我需要像[{“StrFilter”:“[{“SAHExpertCode\”:\”,“ShiftType\”:“PM\”,“LocFunId\”:“CLT0004218\”,“SAHQualCode\”:“CA\”,“MbrId:“mbr000035”,“shiftCrtlNos:“00800135260080014697”]这样的JSON,还告诉我如何从字符串中删除\项


我通过执行以下操作替换了不需要的\符号
finalString=[finalString stringByReplacingOccurrencesOfString:@“\”with string:@”“];在JSON字符串中。

我建议您访问www.JSON.org,查看JSON数据的正确格式。获得正确格式JSON的最简单方法是创建一个要转换为JSON的数组或字典,并使用NSJSONSerialization来完成这项工作。

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

在下面的例子中,我有一个“postenuarray”,我正在用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];

您能否发布一些代码,说明您是如何生成请求和JSON的,以便我们能够帮助您?请确切地告诉我您希望如何生成JSON(JSON格式)。请给出一个示例。问题文本出错,很抱歉,最好弄清楚如何解决此问题。@gnasher729谢谢您的建议,先生,我通过执行finalString=[finalString string byreplacingoccurrencesofstring:@“\\”with string:@”“];如果实际需要反斜杠,这将产生全部垃圾。