& amp; выпуск специальных символов в строке 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"}]

а затем отправить его на сервер (PHP). Сервер получает непарсируемую строку JSON, как это,

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

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

РЕДАКТИРОВАТЬ:

PHP-код:

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

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

0

Решение

Попробуйте код ниже:

Передайте JSON-строку в метод ниже, прежде чем отправлять на сервер.

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]