![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 17.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
Problem wygląda następująco:
za pomocą metody json_decode() chcę przetworzyć stringa np. tej postaci: Cytat [ { "name": "Adam", "age": "28", "projects": [ "Shop", "Website", "Facebook" ] }, { "name": "Mark", "age": "23", "projects": [ "Website", "Facebook" ] }, { "name": "Anna", "age": "24", "projects": [ "Facebook" ] } ] przykładowy kod wygląda tak:
problem w tym, że $dane zawsze są = "NONE", dodam, że kodowanie wczytywanych do $stringzjsonem danych to utf-8 dobrze by było gdyby ktoś mnie chociaż naprowadził co jest nie tak? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 17.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
@vonski
-plik jest w utf-8 z BOM jak mi pokazuje notepad++ -mb_detect_encoding() zwraca 'UTF-8' -json_last_error() zwraca code: 4 = 'JSON_ERROR_SYNTAX' czyli malformed JSON @ctom pytanie dobre bo być może na tym cała sprawa się zasadza, otóż w pliku mam to samo co podstawiam pod zmienną jako stringa, czyli jeżeli dam jako zmienną: Cytat $stringzjsonem=' [ { "name": "Adam", "age": "28", "projects": [ "Shop", "Website", "Facebook" ] }, { "name": "Mark", "age": "23", "projects": [ "Website", "Facebook" ] }, { "name": "Anna", "age": "24", "projects": [ "Facebook" ] } ]' i użyję jej w $dane=json_decode($stringzjsonem,true,512) to $dane są prawidłowo zdekodowanym jsonem, natomiast jeżeli tego samego stringa wrzucę do pliku, czyli w pliku mam: Cytat [ { "name": "Adam", "age": "28", "projects": [ "Shop", "Website", "Facebook" ] }, { "name": "Mark", "age": "23", "projects": [ "Website", "Facebook" ] }, { "name": "Anna", "age": "24", "projects": [ "Facebook" ] } ] i zapiszę jako utf-8, to po wczytaniu go za pomocą $stringzjsonem=file_get_contents($plik) a potem spróbuję $dane=json_decode($stringzjsonem,true,512) to już $dane są puste ;-/ coś robię nie tak? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.10.2025 - 11:37 |