2015-03-19 2 views
0

Я отправляю строку на мой контроллер, содержащий &. Когда я делаю json_decode, он возвращает Disallowed Key Characters в этой строке.Запрещенные ключевые символы в json_decode в Codeigniter с Ampersand &

Ex:

"1204" : { 
"phone" : { 
    "0" : "666666" 
}, 
"idcontact" : "1211", 
"firstName" : "User1", 
"address" : { 
    "0" : { 
    "State" : "Madrid", 
    "Country" : "Spain", 
    "City" : "Madrid" 
    } 
}, 
"urls" : { 

}, 
"company" : "Restaurant & Cafe Bar", 
"birthday" : "1987\/03\/09", 
"email" : { 
    "0" : "[email protected]" 
}, 
"job" : "Owner", 
"lastName" : "LastName"} 

возвращает ..

Disallowed Key Characters: Cafe Bar", 
____"birthday" : "1987\/03\/09", 
____"email" : { 
______"0" : "[email protected]" 
____}, 
____"job" : "Owner", 
____"lastName" : "LastName"} 

I судимое изменить функцию _clean_input_keys ($ НТР), но я не знаю, как это сделать.

Как его решить?

+0

'Encode' your string – hrskrs

+0

Он кодируется, поэтому мне нужно его декодировать – titolancreo

+0

Поскольку амперсанд не является допустимым символом в JSON. 'urlencode()' ваша строка перед преобразованием его в JSON. – Joe

ответ

0

Вы пытались добавить '&' в $config['permitted_uri_chars'] в файле конфигурации?

+0

Это абсолютно не связано с URI. Это функция json_decode PHP, которая возвращает ошибку. – Joe