web端需要我传一个json字符串,我用了传给服务端的转json字符串的方法,始终不行
传给服务端的json字符串
+ (NSString*)dictionaryToJson:(NSDictionary *)dic{
NSError*parseError =nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&parseError];
return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
}
返回的参数为
{
"longitude" : "116",
"latitude" : "39"
}
我和web端找了半天的问题,就是不行,明明传给服务端就可以,度娘了一下,也没有找到问题
看了一下options的枚举类型
NSJSONWritingPrettyPrinted = (1UL << 0) //是将生成的json数据格式化输出,这样可读性高,不设置则输出的json字符串就是一整行。(自己原生打印输出,一般选用这个可读性比较高);
NSJSONWritingSortedKeys //输出的json字符串就是一整行(如果要往后台传或者字典转json然后加密,就不能格式化,会有换行符和空格);这个枚举是iOS11后才出的,iOS11之前我们可以用kNilOptions来替代
NSJSONWritingFragmentsAllowed 允许写入片段
NSJSONWritingWithoutEscapingSlashes 不转义斜线
四个都试了,都不可以,就试了一下不加枚举值,用kNilOptions,
返回的格式就是这样,
{"longitude":"116","latitude":"39"}
web端接受就没有问题了