如何在Objective-C中用JSON创建true/false

Boo*_*oon 4 json objective-c nsjsonserialization

如何使用NSJSONSerialization dataWithJSONObject从NSDictionary中获取json中的true/false(而不是"true"/"false")?我应该在词典中存储哪些键才能获得该键?

Mar*_*n R 7

NSNumber包含a的对象BOOL映射到JSON"true"和"false".所以只使用@YES,@NO或一般@(someBOOL).例如:

NSDictionary *dict = @{@"this is": @YES};
NSData *data = [NSJSONSerialization dataWithJSONObject:dict options:0 error:NULL];
NSString *str = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
// {"this is":true}
Run Code Online (Sandbox Code Playgroud)

  • @Boon:它可能使用`objCType`方法来获取有关值类型的信息. (2认同)
  • @Boon添加如下代码:`NSNumber*aBool = @YES; NSNumber*anInt = @ 1;`.现在使用调试器查看这两行生成的内部类型.实际上,这两个对象有两种不同的内部类型. (2认同)