如何获取和判断json中的boolean 值
2个回答
推荐于2017-11-27 · 知道合伙人数码行家
可以叫我表哥
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:25897
获赞数:1464984
2010年毕业于北京化工大学北方学院计算机科学与技术专业毕业,学士学位,工程电子技术行业4年从业经验。
向TA提问 私信TA
关注
展开全部
其实我是明确知道返回来的数据是 boolean 类型的,
只是在做判断的时候 发现直接使用
if([responseObject objectForKey:@“success”]) 判断没有任何意义,因为我判断的是这是不是为真,换句话说,就是是不是非空,
靠当然非空啦,大不了返回一个false 但那个也是有值得,so ,我尝试使用改变数据类型接收,
当我用NSString * 接收时,
发生这种错误
[__NSCFBoolean isEqualToString:]: unrecognized selector sent to instance
OMG,好吧,他确实不是String类型,他是boolean,
然后尝试用[[responseObject objectForKey:@“success”] boolValue];
不要问我为什么不直接用bool 接收,因为他妈的有警告。
对不起我有点激动。
好了,现在总结:
估计iOS 默认 接收的id 类型的数字 都是NSNumber类型,所以这里需要 value一下,
哦,对,如果是post的话 所有的数据确实都是NSNumber,如此说来,json接收和发送的数据确实都是NSNumber类。
这就说的通了。
只是在做判断的时候 发现直接使用
if([responseObject objectForKey:@“success”]) 判断没有任何意义,因为我判断的是这是不是为真,换句话说,就是是不是非空,
靠当然非空啦,大不了返回一个false 但那个也是有值得,so ,我尝试使用改变数据类型接收,
当我用NSString * 接收时,
发生这种错误
[__NSCFBoolean isEqualToString:]: unrecognized selector sent to instance
OMG,好吧,他确实不是String类型,他是boolean,
然后尝试用[[responseObject objectForKey:@“success”] boolValue];
不要问我为什么不直接用bool 接收,因为他妈的有警告。
对不起我有点激动。
好了,现在总结:
估计iOS 默认 接收的id 类型的数字 都是NSNumber类型,所以这里需要 value一下,
哦,对,如果是post的话 所有的数据确实都是NSNumber,如此说来,json接收和发送的数据确实都是NSNumber类。
这就说的通了。
展开全部
向bool类型转换时的有如下原则:
数据类型 转换为bool后的值
null FALSE
undefined FALSE
Object TRUE
function TRUE
0 FALSE
1 TRUE
0、1之外的数字 TRUE
字符串 TRUE
""(空字符串) FALSE
此时,IsLink在JSON中为字符串“false”,所以转换后得到bool类型true。
处理办法:
代码如下:
document.getElementById("checkbox1").checked = news.IsLink==“true";
数据类型 转换为bool后的值
null FALSE
undefined FALSE
Object TRUE
function TRUE
0 FALSE
1 TRUE
0、1之外的数字 TRUE
字符串 TRUE
""(空字符串) FALSE
此时,IsLink在JSON中为字符串“false”,所以转换后得到bool类型true。
处理办法:
代码如下:
document.getElementById("checkbox1").checked = news.IsLink==“true";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询