标签: json-framework

替换NSDictionary中的所有NSNull对象

我很好奇,由于json-framework的帮助,我目前有NSDictionary一些值被设置为一个NSNull对象.

目的是剥离所有NSNull值并用空字符串替换它.

我确定有人在某处做过这件事吗?毫无疑问,这可能是一个四轮班轮,而且很简单,我只是太费力了,无法自己解决这个问题.

谢谢!

objective-c nsdictionary json-framework nsstring nsnull

13
推荐指数
3
解决办法
2万
查看次数

在iphone上使用哪个json库来消耗gson/jackson生成的json

我需要构建一个基于Java的JSON数据API,可以从移动设备访问:Android,Iphone ......我已经缩小到这些:

  • 服务器端数据api - gson/jackson lib(pojo to json)
  • Android方面 - gson/jackson lib(json to pojo)
  • Iphone方面 - 我google搜索并发现有一堆框架Jsonkit,json-framework,touch json等等.

问题:

  • 有人可以在iphone端json库上推荐吗?gson/jackson生成数据api的json输出,必须可以从iphone中获取,而不需要对json结构进行任何特殊调整

  • 是否有任何java Collection类型,我应该远离(在服务器端),以确保json可以直接转换为客观c对象?

  • 还有其他陷阱吗?

注意:我知道PhoneGap,titanuim和一些等价物 - 但对它们不感兴趣.Json本来是一种通用的格式,但我之前遇到过跨库问题 - 因此这种尝试可以从之前对这个主题进行过实验的人那里理解

谢谢!

iphone json json-framework jsonkit

7
推荐指数
1
解决办法
7622
查看次数

如何使用JSON-Framework在XCode上检测JSON对象/ JSON数组

我在JSON解析方面遇到了一些问题.当我点击URL时,我得到了像这样的JSON响应:

//JSON 1
{ "data":
  {"array":
    ["3",
       {"array":
          [
            {"id":"1","message":"Hello","sender":"inot"},
            {"id":"2","message":"World","sender":"inot"},
            {"id":"3","message":"Hi","sender":"marza"}
          ]
        }
     ]
   },
 "message":"MSG0001:Success",
 "status":"OK"
}
Run Code Online (Sandbox Code Playgroud)

但是如果数据的结果只是1,那么JSON响应是这样的:

//JSON 2
{ "data":
  {"array":
    ["3",
       {"array":
          {"id":"3","message":"Hi","sender":"marza"}
       }
     ]
   },
 "message":"MSG0001:Success",
 "status":"OK"
}
Run Code Online (Sandbox Code Playgroud)

我实现此代码以获取id,message和sender值,并在JSON 1上正常工作,但在JSON 2上出错.我使用JSON-Framework.问题是如何检测JSON响应是对象({})还是数组([])?

// Parse the string into JSON
NSDictionary *json = [myString JSONValue];

// Get all object
NSArray *items = [json valueForKeyPath:@"data.array"];
NSArray *array1 = [[items objectAtIndex:1] objectForKey:@"array"];
NSEnumerator *enumerator = [array1 objectEnumerator];
NSDictionary* item;
while (item = (NSDictionary*)[enumerator nextObject]) {
   NSLog(@"id      = %@",[item objectForKey:@"id"]); …
Run Code Online (Sandbox Code Playgroud)

iphone json json-framework

5
推荐指数
1
解决办法
6883
查看次数

iPhone应用程序上的JSON错误

当我尝试在我的模拟器上运行应用程序时,我收到错误.我已经在我的应用程序中复制了JSON(JSON框架)项目但是我的模拟器在编译以下行时崩溃了(我使用的是iOS 4.2)

- (void)viewDidLoad {
    [super viewDidLoad];
    NSString *jsonString = [NSString stringWithString:@"{\"foo\": \"bar\"}"];
    NSDictionary *dictionary = [jsonString JSONValue];
    NSLog(@"Dictionary value for \"foo\" is \"%@\"", [dictionary objectForKey:@"foo"]);
}
Run Code Online (Sandbox Code Playgroud)

错误:

2011-03-02 13:33:37.304 test[10918:207] -[NSCFString JSONValue]: unrecognized selector sent to instance 0x3034
2011-03-02 13:33:37.308 test[10918:207] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSCFString JSONValue]: unrecognized selector sent to instance 0x3034'
*** Call stack at first throw:
(
    0   CoreFoundation                      0x00da7be9 __exceptionPreprocess + 185
    1   libobjc.A.dylib                     0x00efc5c2 objc_exception_throw + 47
    2   CoreFoundation …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c json-framework ios4

3
推荐指数
2
解决办法
4442
查看次数

如何将NSDecimalNumber转换为NSInteger?

好的,我正在使用支持JSON的Rails Web服务来为iPhone应用程序提供数据.我发现我的整数值(ID)被json-framework解释为NSDecimalNumber类型.我需要它作为整数.如何从NSDecimalNumber类型变量中获取整数值?我已经尝试了所有我知道的东西,而且我的智慧结束了.

cocoa-touch types json-framework

2
推荐指数
1
解决办法
5519
查看次数

iPhone静态库中的json-framework错误

我有一个使用json框架的iPhone应用程序.我将一些代码(包括json-framework源代码)从主项目移动到静态库.当我这样做时,json-framework停止编译成二进制文件(使用类转储进行双重检查).这会导致一个令人讨厌的错误:

*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSCFString JSONValue]: unrecognized selector sent to instance 0x43897f0'
Run Code Online (Sandbox Code Playgroud)

静态库中的其他所有内容都可以继续正常运行.

iphone static-libraries json-framework

2
推荐指数
1
解决办法
1328
查看次数

JSON解析错误

我正在为iOS使用SBJson框架(也称为json-framework).

解析某个JSON文件时,我收到以下错误: -JSONValue失败.错误是:未转义的控制字符[0x09] '

我已经多次使用过这个框架,我也在同一个应用程序中解析一个非常相似的JSON文件(甚至更长),并且它工作正常.

我试着扔掉一堆NSLog,一切似乎都很好.有人可以指出这个错误意味着什么,或者至少如何继续调试这样的错误?

以下是显示错误的代码:

- (void)downloadSchedule:(NSString *)jsonString {

    // Get JSON feed URL and instantiate a dictionary object with its content
    NSDictionary *topDic = [jsonString JSONValue];

    NSLog(@"topDic count %d", [topDic count]);
Run Code Online (Sandbox Code Playgroud)

topDic显示的计数为0.错误在该[jsonString JSONValue]行.

谢谢

iphone objective-c json-framework ios sbjson

1
推荐指数
1
解决办法
3918
查看次数