Autor
|
Tema: JSON PHP return de json_decode($json) no es un objeto? (Leído 2,567 veces)
|
@XSStringManolo
Hacker/Programador
Colaborador
 
Desconectado
Mensajes: 2.395
Turn off the red ligth
|
Estoy pasando un JSON por XHR a una función PHP que hice para hacer requests a directorios. Me sale un error que no consigo solventar. Me dice: Trying to get nod propertie of non-object. Y en otra línea: Trying to get nd propertie of non-object. El echo a $rawReq me imprime el json exactamente igual que como yo lo mandé. El JSON es igual que el del comentario. Mi pregunta es como solucionar el error, no como hacerlo de otra forma. /* Get Request From Client holding list of Domains to hunt, plus list of dictionary urls to get. Expecting a json like: { nod: 2, domain0: "google.com", domain1: "yahoo.es", nd: 1, dictionary0: "raw.github..." } * domains->nod = number of domains * * domains->nd = number dictionaries * */ function GRFC (array &$arr) { echo "$rawReq"; $temp = ""; $arrayDomains = []; $x = 0; for($i = 0; $i < $domains->nod; ++$i) { $temp = "domain"; $temp += $i; $arrayDomains[i] = $domains->$temp; $x = $i; } for($i=0; $x < $domains->nd; ++$x) { $temp = "dictionary"; $temp +=$i; ++$i; $arr[i] = $domains->$temp; } return $arrayDomains; } $domainsToHunt = GRFC($dictionariesToHunt);
|
|
« Última modificación: 23 Diciembre 2019, 19:57 pm por @?0!,5^34 »
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖 
|
|
|
AlbertoBSD
Programador y
Moderador Global
 
Desconectado
Mensajes: 3.691
🏴 Libertad!!!!!
|
Acabo de darme cuenta del error, los nombres las propiedades nod, domain0, domain1, nd y dictionary deben de ir entre comillas dobles. { "nod": 2, "domain0": "google.com", "domain1": "yahoo.es", "nd": 1, "dictionary0": "raw.github..." } Saludos!
|
|
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
 
Desconectado
Mensajes: 2.395
Turn off the red ligth
|
Acabo de darme cuenta del error, los nombres las propiedades nod, domain0, domain1, nd y dictionary deben de ir entre comillas dobles. { "nod": 2, "domain0": "google.com", "domain1": "yahoo.es", "nd": 1, "dictionary0": "raw.github..." } Saludos! Entonces porque lo llaman javascript object notation? En js es válido '-- Tenía una función con arrays/strings con el json a mano y al final opté por rescribirla toda como un objeto y pasarle stringify por mi salud mental. xD Gracias
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖 
|
|
|
AlbertoBSD
Programador y
Moderador Global
 
Desconectado
Mensajes: 3.691
🏴 Libertad!!!!!
|
Entonces porque lo llaman javascript object notation? En js es válido '--
Jajaja ya se, segun tengo entendido del lado de javascript es un poco mas permisivo con los objetos a la hora de procesarlos, pero PHP es mas estricto. Como mandas tu data desde el cliente javascript, yo utilizo ajax o fetch y nunca he tenido ese tipo de detalles con el PHP en el backend data:JSON.stringify(objeto) Saludos!
|
|
« Última modificación: 24 Diciembre 2019, 18:29 pm por AlbertoBSD »
|
En línea
|
|
|
|
@XSStringManolo
Hacker/Programador
Colaborador
 
Desconectado
Mensajes: 2.395
Turn off the red ligth
|
Jajaja ya se, segun tengo entendido del lado de Javascrip es un poco mas permisivo con los objetos a la hora de procesarlos, pero PHP es mas estricto. Como mandas tu data desde el cliente javascript, yo utilizo ajax o fetch y nunca he tenido ese tipo de detalles con el PHP en el backend data:JSON.stringify(objeto) Saludos! Uso el submit de los forms o xmlHttpRequest. Fetch no lo uso porque de momento para el tipo de cosas que hago no me aporta mucho y me daría dolores de cabeza tener que mirar como remplazarlo por un polyfill.
|
|
|
En línea
|
Mi perfil de patrocinadores de GitHub está activo! Puedes patrocinarme para apoyar mi trabajo de código abierto 💖 
|
|
|
engel lex
|
js en los navegadores es muuuuuucho mas permisivo que lo que establece el standard, pero usualmente los otros lenguajes se apegan mucho al sandard
|
|
|
En línea
|
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
|
|
|
MinusFour
|
Entonces porque lo llaman javascript object notation? En js es válido '--
Tenía una función con arrays/strings con el json a mano y al final opté por rescribirla toda como un objeto y pasarle stringify por mi salud mental. xD
Gracias
Es un subset de la notación de JS. Tampoco puedes usar números en la notación: ({ 0:1 , 2:3 }) //js valido, json invalido
La notación solo permite notación de strings como llaves hasta donde yo tengo entendido.
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[C#] Deserializar JSON
.NET (C#, VB.NET, ASP)
|
Siuto
|
1
|
4,653
|
9 Septiembre 2010, 17:55 pm
por [D4N93R]
|
|
|
json
Desarrollo Web
|
samrofi
|
0
|
1,635
|
8 Agosto 2012, 16:31 pm
por samrofi
|
|
|
Ayuda con JSON
Desarrollo Web
|
spysecurityca
|
8
|
2,752
|
26 Julio 2014, 03:41 am
por engel lex
|
|
|
Duda con JSON y PHP
Programación General
|
Toracos
|
0
|
1,483
|
9 Enero 2015, 16:23 pm
por Toracos
|
|
|
[Resuelto] [Newbie] No puedo acceder a objeto JSON enviado por AJAX
PHP
|
iGust4v0x
|
8
|
3,886
|
14 Enero 2015, 21:46 pm
por iGust4v0x
|
|