iOS-JS传值报错domain: @"WKErrorDomain" - code: 4

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端接受就没有问题了

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容