ios 請(qǐng)求數(shù)據(jù)中轉(zhuǎn)義字符"的處理

前言:根據(jù)需求,我將一個(gè)數(shù)組類型(每一個(gè)數(shù)據(jù)都是字典類型)的數(shù)據(jù)轉(zhuǎn)化為json字符串的形式傳給后臺(tái)。我在需要的地方再請(qǐng)求下來(lái)這個(gè)數(shù)據(jù)。結(jié)果發(fā)現(xiàn)請(qǐng)求下來(lái)的數(shù)據(jù)被轉(zhuǎn)義處理了,引號(hào)被轉(zhuǎn)義成"。

1.傳給后臺(tái)的json字符串。

? NSMutableArray *conArr = [[NSMutableArray alloc] initWithCapacity:0];

?? ? for(DynmaticModel*modelinself.dataArray)

?? ? {

?? ? ? ? if(model.content&& model.content.length>0) {

?? ? ? ? ? ? NSDictionary*dic =@{@"type":model.type,@"content":model.content};

?? ? ? ? ? ? [conArraddObject:dic];

?? ? ? ? }

?? ? }

? ? NSData *priceDta = [NSJSONSerialization dataWithJSONObject:conArr options:kNilOptions error:nil];

? ? NSString *priceJson = [[NSString alloc] initWithData:priceDta? encoding:NSUTF8StringEncoding];

傳給后臺(tái)的priceJson字符串打印如下:

priceJson = [{"type":"1","content":"啦啦啦1"},{"type":"2","content":"http://fengwojiancai.oss-cn-beijing.aliyuncs.com/ios/20200908151508/2020090815150802.png"},{"type":"1","content":"啦啦啦2"}]

2.上傳成功后從后臺(tái)請(qǐng)求下來(lái)的字符串如下:

[{"type":"1","content":"啦啦啦1"},{"type":"2","content":"http:\/\/fengwojiancai.oss-cn-beijing.aliyuncs.com\/ios\/20200908151508\/2020090815150802.png"},{"type":"1","content":"啦啦啦2"}]

3.如何處理:

(1)將字符串中的"用引號(hào)替換

?NSString *str = [ text stringByReplacingOccurrencesOfString:@""" withString:@"\""];

這個(gè)str就是你傳上去的json字符串。

(2)將json轉(zhuǎn)化為數(shù)組

NSData *JSONData = [str dataUsingEncoding:NSUTF8StringEncoding];

? ? ? ? NSError*error =nil;

? ? ? ? NSArray * arr = [NSJSONSerialization JSONObjectWithData:JSONData options:NSJSONReadingAllowFragments error:&error];

? ? ? ? for(NSDictionary *dic??in??arr) {

? ? ? ? ? ? NSLog(@"dic = %@",dic);

? ? ? ? }

這樣就ok了!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容