我如何比较两个值json return true in deliver property,我想将它与string
进行比较$.getJSON('/SalesInvoice/GetSI/' + $('#SearchSI').val(), function (data) {
if (data.ex == "OK") {
if(data.Voucher.IsDelivered == "true")
{
alert('hi');
};
}
答案 0 :(得分:0)
如果在JSON中,值为true
,并且您想使用"true"
进行检查,则会导致错误。
我认为您应该将字符串转换为简单的bool true。
if(data.Voucher.IsDelivered == true)
{
alert('hi');
};
或者更简单的
if(data.Voucher.IsDelivered)
{
alert('hi');
};
因为如果你看到(bool == string) = false
。在使用条件语句时始终检查数据类型。
答案 1 :(得分:0)
为什么不在IF语句中添加else,以便您可以准确查看相关变量中的内容。像这样:
if (data.ex == "OK") {
if(data.Voucher.IsDelivered == "true")
{
alert('hi');
} else {
alert( data.Voucher.IsDelivered + ' = ' + typeof data.Voucher.IsDelivered )
}