2016-04-15 3 views
0

У меня есть массив словаря преобразуется в JSON строку, как это,& амп выпуск специальный символ в JSon строке

NSMutableArray *returnArray = [NSMutableArray new]; 

    NSMutableDictionary *temp1= [NSMutableDictionary new]; 
    [temp setObject:@"item1" forKey:@"notes"]; 
    NSMutableDictionary *temp2= [NSMutableDictionary new]; 
    [temp2 setObject:@"item & item2 " forKey:@"notes"]; 

    NSString *json = [self aryToJSONString:allSync]; 

JSON конвертер:

-(NSString *)aryToJSONString:(id) ary{ 

NSError *error; 
NSString *jsonString; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:ary 
                options:0 // Pass 0 if you don't care about the readability of the generated string 
                error:&error]; 

if (! jsonData) { 
    NSLog(@"Got an error: %@", error); 
} else { 
    jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
    } 
    return jsonString; 
} 

Старинное JSON:

[{"notes":"item"},{"notes":"item1 & item2"}] 

а затем POST его на сервер (PHP). Сервер получает неразборчивый JSon строку, как это,

[{\"notes\":\" item1 \"},{\"notes\":\"item1 ","item2\"}]":" 

Как я могу справиться с &amp спецвыпуск характера?

EDIT:

PHP код:

$json = $_REQUEST['json']; 
     $json = stripslashes($json); 
     $jsonArr = json_decode($json, true); 

     while($item = array_shift($jsonArr)) 
     { 
      foreach($item as $key=>$value) 
      { 
      } 
     } 
+0

пытаются использовать строку замены, как этот 'str_replace ('&', '&', $ строка)' –

+0

вы можете поделиться код PHP? –

+0

PHP код совместно пожалуйста, проверьте @Mubashar Abbas – chimbu

ответ

0

Try ниже код:

Pass JSON строку ниже метода перед отправкой на сервер.

-(NSString*)replaceSpecialCharsFromString:(NSString*)str 
{ 
    str = [str stringByReplacingOccurrencesOfString:@"&" withString:@"&"]; 
    str = [str stringByReplacingOccurrencesOfString:@"<" withString:@"&lt;"]; 
    str = [str stringByReplacingOccurrencesOfString:@">" withString:@"&gt;"]; 
    return str; 
} 
+0

это не работает – chimbu

Смежные вопросы