编辑代码

#import <Foundation/Foundation.h>

typedef const char* MyBlock(const char* callback, const char* data);

const char* TestBlock(MyBlock blk){
    char *tt = "222";
    blk(tt,tt);
    return tt;
}

const char* Hello(const char* callback, const char* data)
{
    char *tt = "he6666666666llo";
    printf("%s\n",tt);
    return NULL;
}



@interface TestClass:NSObject
-(void)Show:(NSString*)argv;
@end

@implementation TestClass
-(void)Show:(NSString*)argv
{
    printf("string %s\n",[argv UTF8String]);
}

@end

@interface T1Class:TestClass
-(void)Show:(int)argv a2:(NSString*)argv2;
@end

@implementation T1Class
-(void)Show:(int)argv a2:(NSString*)argv2
{
    printf("v1 int: %d\n",argv);
    printf("v2int: %s\n",[argv2 UTF8String]);
}
@end

int main(int argc, char* argv[]) {
    NSString * str=@"Hello JSRUN    -from objc\n";
    printf("%s\n",[str UTF8String]);
    TestBlock(Hello);
    TestClass* tc = [TestClass new];
    [tc Show:@"hello"];

    TestClass* tc1 = [T1Class new];
    [tc1 Show:123 a2:@"hello2"];

    NSDictionary* callbackDic = [NSDictionary dictionaryWithObjectsAndKeys:
    @"http://url.com", @"url", 
    @"webRequest", @"callback", nil];

    NSError *error1;
    NSData *jsonData1 = [NSJSONSerialization dataWithJSONObject:callbackDic options:0 error:&error1];
    NSString *jsonString = [[NSString alloc] initWithData:jsonData1 encoding:NSUTF8StringEncoding];

    printf("json str: %s\n",[jsonString UTF8String]);
    char* data = [jsonString cStringUsingEncoding:NSASCIIStringEncoding];//"{\"url\":\"http://u3dclient.develop.com/temp/uploadfile.php\"}";
    NSError *error;
        NSString *jsonStr = [[NSString alloc] initWithUTF8String:data];
        NSData* jsonData = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];
        NSDictionary* resultDic = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
        if (error)
        {
            NSLog(@"json解析失败:%@",error);
            return 0;
        }
        NSString *url = [resultDic valueForKey:@"url"];
    printf("json: %s\n", [url UTF8String]);
    return 0;
}