Comment convertir 1 vrai ou 0 pour faux sur le modèle d'extraction
J'ai un modèle qui est définie avec une réponse JSON à partir d'une base de données mysql. Le modèle de données est définie à true ou false dans un booléen/tinyint champ dans la base de données, qui utilise 1
ou 0
.
De mon point de vue, j'ai une liaison qui recherche un booléen avec un trait de soulignement est _.isBoolean
. Bien sûr, quand mon modèle reçoit les données, elle est sertie de 1
ou 0
au lieu de true ou false et la _.isBoolean
vérification échoue.
Est de toute façon il soit correctement avoir ma réponse JSON à partir de mysql être une valeur booléenne true ou false valeur au lieu de 1
ou 0
, ou, de préférence, est-il un moyen d'avoir ma mise à jour du modèle lui-même lors de l'extraction (et avant le point de vue rend) pour lancer true
ou false
basée sur 1 ou 0 bien?
par exemple, mon modèle de données ressemble à {"isChecked":"1"}
quand j'en ai besoin pour être {"isChecked":true}
Je vous remercie beaucoup pour toutes les suggestions que vous pourriez avoir!
- qu'est-ce que le côté serveur de la technologie utilisée?
- PHP, la réponse est écrite avec un json_encode sur le résultat de la requête
- avez-vous essayé avec le chemin: isChecked=isChecked?true : false
Vous devez vous connecter pour publier un commentaire.
Vous n'avez besoin que de convertir
string
àint
avec+
et convertir le résultat booléen avec!!
:Vous pouvez faire cette manipulation dans le
parse
méthode:int
premier.!!+"1"; // true
,!!+"0"; // false
,!!+1; // true
,!!+0; // false
Utiliser un double pas:
value = (!!parseInt(value) ? true : false)
Voici une autre option, plus long mais peut-être plus lisible:
Attribution de Comparaison de la valeur de la propriété
JavaScript
Vous pouvez assigner la comparaison de la propriété
"1"
Ce n'évalue pour une valeur de Chaîne de
"1"
bien. D'autres variables evaulate à faux comme un réeltypeof number
serait fausse. (c'est à direobj["isChecked"]=1
)Si l'on voulait être indiscrimate sur
"1"
ou1
, vous pouvez utiliser:Exemple Des Sorties
PHP
Même concept en PHP
Le même opérateur limitations comme indiqué ci-dessus pour JavaScript appliquer.
Double Pas
La "double pas" fonctionne aussi. C'est source de confusion lorsque les gens le lire, mais il fonctionne dans les deux langues pour entier/type nombre de valeurs. Toutefois, elle ne fonctionne pas en JavaScript de type chaîne de valeurs comme toujours, elles sont évaluées à true:
JavaScript
PHP
Convertir
1
'1'
et'true'
àtrue
et0
'0'
'false'
null
etundefined
àfalse
Ici est l'Unité de test:
Tapuscrit De La Recette: Élégant Analyser Boolean