Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] generar json_encode sin comillas dobles

Estas en el tema de generar json_encode sin comillas dobles en el foro de PHP en Foros del Web. Buenas!!! aqui vengo con otro asunto que no he conseguido encontrar en el buscador... tal vez nadie lo haya consultado nunca aqui. El tema es ...
  #1 (permalink)  
Antiguo 25/11/2015, 09:43
 
Fecha de Ingreso: marzo-2015
Mensajes: 66
Antigüedad: 9 años, 1 mes
Puntos: 0
generar json_encode sin comillas dobles

Buenas!!!

aqui vengo con otro asunto que no he conseguido encontrar en el buscador... tal vez nadie lo haya consultado nunca aqui.

El tema es que realizo una consulta a una base de datos mysql, los datos los paso a un archivo json mediante la funcion json_encode. Hasta aqui funciona "perfectamente"... pero la base de datos contiene un set con valores true o false. Lo que pretendo es obtener un json sin que los valores true y false esten entre comillas dobles. Pretendo algo como esto:

"nombreAlarma": "nombreA",
"descripcionAlarma": "descript",
"parametrosAlarma": true

A ver si a alguien le ocurrio algo similar y puede decirme algo.

Mil gracias!!!
  #2 (permalink)  
Antiguo 25/11/2015, 10:47
 
Fecha de Ingreso: marzo-2015
Mensajes: 66
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: generar json_encode sin comillas dobles

Por si a alguien le ocurre algo similar...
Lo solucione con la funcion str_replace despues de general el json.
  #3 (permalink)  
Antiguo 25/11/2015, 10:54
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 9 meses
Puntos: 379
Respuesta: generar json_encode sin comillas dobles

Los valores booleanos pasan sin comillas cuando los transformas a json. Así que el problema debe de estar antes de hacer el llamado a la función
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #4 (permalink)  
Antiguo 25/11/2015, 11:57
 
Fecha de Ingreso: diciembre-2011
Mensajes: 159
Antigüedad: 12 años, 4 meses
Puntos: 18
Respuesta: generar json_encode sin comillas dobles

Realizaste un print_r para ver la salida del json?

Saludos
  #5 (permalink)  
Antiguo 26/11/2015, 02:45
 
Fecha de Ingreso: marzo-2015
Mensajes: 66
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: generar json_encode sin comillas dobles

Buenas!!

Gracias por las respuestas.
Si hice un print_r y me devuelve "false" o "true" comillas dobles incluidas.

No se entonces donde puede estar el problema, el enum en la mysql esta definido como enum('true','false') y es curioso que cuando recoge los datos de otro json para rellenar la base de datos no rellena el campo cuando false, solo los que en el json son true. Los que en Json son false directamente no escribe nada en mysql, los deja vacios...

?Estará el problema en el enum de mysql?

Muuuuchas gracias!!!
  #6 (permalink)  
Antiguo 26/11/2015, 08:02
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: generar json_encode sin comillas dobles

Cita:
?Estará el problema en el enum de mysql?
Yo creo que sí, porque un 'true' es literalmente un valor textual un no un booleano real.

Así que tienes dos opciones, haces type-casting desde PHP para transformar dicho texto en un booleano real o bien, cambias el ENUM() para que use booleanos reales y no texto.

Cita:
Los que en Json son false directamente no escribe nada en mysql, los deja vacios...
Pues ahí habrá que ver exactamente cómo haces las cosas, si de verdad obtienes un booleano real y cómo lo estás tratando a la hora de construir la consulta, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: comillas, dobles, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:32.