繁体   English   中英

NSDictionary和JSON值

[英]NSDictionary and JSON value

我的JSON中有这个:

{"idAlunoGraduacao":001,"semestre":2,"ano":2010,"frequencia":100,"notaFinal":6,"conceito":"Aprovado","idTurma":"Biofisica"}, 
{"idAlunoGraduacao":002,"semestre":2,"ano":2010,"frequencia":88,"notaFinal":9.2,"conceito":"Aprovado","idTurma":"Diversidade sexual"}

在我的.h文件中,我有这个循环:

for (NSDictionary *dados in results)
    NSLog(@"%@",[dados objectForKey:@"notaFinal"]);

第一个“ notaFinal”为6,可以正常打印,但第二个结果为:9.199999999999999

为什么?

您的JSON不是JSON ,下一个代码是JSON

[{{“ idAlunoGraduacao”:1,“ semestre”:2,2,“ ano”:2010,“ frequencia”:100,“ notaFinal”:6,“ conceito”:“ Aprovado”,“ idTurma”:“ Biofisica”},{ “ idAlunoGraduacao”:2,“ semestre”:2,“ ano”:2010,“ frequencia”:88,“ notaFinal”:9.2,“ conceito”:“ Aprovado”,“ idTurma”:“ Diversidade sex”}]

另外,您的JSON与文字NSDictionary非常相似。

@{@"idAlunoGraduacao":@001,@"semestre":@2,@"ano":@2010,@"frequencia":@100,@"notaFinal":@6,@"conceito":@"Aprovado",@"idTurma":@"Biofisica"};

然后,您说: “在我的.h文件中,有这个循环:” ,我很确定您在.m中有循环。

在Objective-C中,最佳实践是在for循环和if-else中使用curly brackets

for (NSDictionary *dados in results)
{
    NSLog(@"%@",[dados objectForKey:@"notaFinal"]);
}

最后,正如@Koray_Alkan所说,您可以使用

NSLog(@"Value: %.2f", [[dados objectForKey:@"notaFinal"] floatValue]);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM