objective-c - 使用 GNUStep 将 JSON 解析为 NSDictionary 对于 bool 值不起作用

标签 objective-c json linux gnustep

我想将 C 字符串解析为 NSDictionary。以下代码在 OS X 下编译时效果很好,但在带有 GNUStep 7.7 的 Ubuntu 14.04 LTS 下使用时会导致错误“JSON Parse error”。该错误仅发生在 bool 值(truefalse)上,但适用于数字和字符串。

您知道问题可能是什么或者我如何解决它吗?

#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
        //const char* str = "{\"result\":\"foo\"}"; //works
        const char* str = "{\"result\":true}"; //doesn't work
        NSData* data = [NSData dataWithBytes:str length:strlen(str)];
        NSError *err = nil;
        NSDictionary *dic = [NSJSONSerialization JSONObjectWithData:data options:0 error:&err];
        if(err != nil)
            //Output: "Err: JSON Parse error"
            NSLog(@"Err: %@",err);
        else
            NSLog(@"Dic: %@",dic);
    [pool drain];
    return 0;
}

最佳答案

我找到了解决方案:这是我使用的 GNUstep 版本中的一个错误,当使用 latest sourceNSJSONSerialization,一切正常。

关于objective-c - 使用 GNUStep 将 JSON 解析为 NSDictionary 对于 bool 值不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27197229/

相关文章:

ios - 在自定义 Swift 框架中的 Objective-C 文件上使用 Swift

python - 已解码字符串出现 Unicode 错误?

java - 如何使用 Hibernate Criteria 在 Postgresql JSON 中进行搜索并与 Lateral 一起使用

php - 使用版本控制但仍以正常方式访问文件

Android SDK 模拟器错误 : Broken AVD system path

objective-c - 实例化一个对象的类型取决于另一个对象的类型

ios - 如何检测动态库加载

ios - UITests-如何在 UITests 中获取当前语言

javascript - 解析 '..."许可证“: "ISC", 附近时,JSON 中位置 351 处的意外标记}

linux - 目录中的最大 inode 数?