wyślę ciąg JSON do bazy danych z JavaScript, z następującą składnią:Koduje tablicy do JSON ciąg bez indeksów tablicy
["Product1","Product2","Product3"]
Przed I po prostu umieścić te dane w mojej bazy danych bez ich dekodowania w php i zadziałało to bezproblemowo, gdy używał go ponownie po odzyskaniu.
teraz muszę jednak dokonać kilku zmian w danych w łańcuchu, więc dekodować go w PHP, które spowodują w tablicy tak:
print_r(json_decode($_POST["myjsonstring"]));
//outputs
//Array
//(
// [0] => Product1
// [2] => Product2
// [3] => Product3
//)
Moim problemem jest to, że kiedy kodować ta tablica z powrotem do formatu JSON, formatować struny będą następujące:
{"0":"Product1","2":"Product2","3":"Product3"}
muszę zakodowany ciąg być taka sama, jak tworzy mój javascript, więc bez indeksy tablicy. Czy istnieje prosty sposób na zrobienie tego?
Dlaczego brakujący indeks w tablicy? Myślę, że nie pokazujesz całego kodu dotykającego tej tablicy. Jeśli nie masz ciągłego zestawu liczbowych wartości indeksu, proces json_encode traktuje go jak tablicę asocjacyjną i koduje do notacji obiektu zamiast do notacji tablicowej. –