Я принимаю ответ here, но он не работает для меня. Я получаю NULL
.Objective-C Json String в PHP Array
Я произвести JSON из массива с:
NSError* error;
NSData *result =[NSJSONSerialization dataWithJSONObject:self.fileNamesListForUpload options:0 error:&error];
NSString *displayJson = [[NSString alloc] initWithData:result
encoding:NSUTF8StringEncoding];
NSLog(@"json result %@",displayJson);
["sample.pdf","sample-1.pdf"]
это печатает то я использую следующую команду, чтобы получить возможность отправлять Строка
завиток -F "= список имена [" sample.pdf "" sample-1.pdf "]" url
В моем php-коде;
//get json string
$jsonString = $_POST["nameList"];
var_dump($_POST["nameList"]);
$arrayOfNames=json_decode($jsonString,true);
var_dump($arrayOfNames);
echo "ArrayOfNames: ",$arrayOfNames,"\n";
Результат:
string(25) "[sample.pdf,sample-1.pdf]"
NULL
ArrayOfNames:
или если я добавляю кавычки '' Я получаю;
string(27) "'[sample.pdf,sample-1.pdf]'"
NULL
Почему «« увольняются, когда я использую _POST? [sample.pdf,sample-1.pdf]
Я отправляю ["sample.pdf","sample-1.pdf"]
?
Как я могу разобрать строку json и поместить ее в массив?
на самом деле я использую кодирующая 'кодирования: NSUTF8StringEncoding' Я обновил код, но точка эта строка' [ "sample.pdf", "образец-1 .pdf "]', полученный через _POST, превращается в это '[sample.pdf, sample-1.pdf]' Я не получаю эту часть. –
Потому что вы не кодировали URL. 'NSUTF8StringEncoding' не похож на то, что кодирует URL.Кодированный параметр URL должен выглядеть примерно так: '% 5B% 22sample.pdf% 22% 2C% 20% 22sample.pdf% 22% 5D' – Halcyon