Nette\Utils\Json::encode a JSON_FORCE_OBJECT
- integer
- Člen | 6
Nejlepší by bylo asi poslat PR do Nette, který tuhle volbu umožní. Podle zdrojáků by to nejspíš byla úprava na jeden řádek (podobný tomuto https://api.nette.org/…son.php.html#33 ) a testy.
Jinak generování objektu místo prázdného pole by ti mělo zařídit
přetypování prázdného pole na object pomocí
(object) $emptyPayloadPart
, ale vyžaduje si to nějaké ruční
úpravy a procházení payloadu.
Takže nejrychlejší řešení je asi místo
\Nette\Utils\Json::encode()
zavolat syrové
json_encode
přímo z PHP. Pokud aplikace neběží na nějaké
historické verzi php, tak by to neměl být větší problém.
- Pavel Kravčík
- Člen | 1201
https://github.com/…ils/pull/152, https://github.com/…ils/pull/106
Asi nejlepší bude použít standardní php json jak píše @integer. Nette se v tomhle chová trochu nestandardně – tj. jinak než dokumentace.
- Jan Tvrdík
- Nette guru | 2595
@Ajax JSON_FORCE_OBJECT je antipattern. Správné řešení je tam
místo []
dát (object) []
.
- Ajax
- Člen | 59
Jan Tvrdík napsal(a):
@Ajax JSON_FORCE_OBJECT je antipattern. Správné řešení je tam místo
[]
dát(object) []
.
Problém je, že to nevyřeší můj problém. Potřebuju aby číselné indexy polí byly číslo-string, tedy
se do jsonu přepsalo takto
{
"1": "aaa",
"2": "bbb"
}
Toto mi konstrukce (object)$this->payload
neudělá…
Editoval Ajax (19. 10. 2017 21:08)
- CZechBoY
- Člen | 3608
Vůbec nechápu tvůj aktuální problém
https://3v4l.org/RR3ZS
https://3v4l.org/U7QGX