JSON_CATEGORY_DATA_URL_STRING我的Feed网址在哪里,返回正常:
[
{
"group":"For Sale",
"code":"SSSS"
},
{
"group":"For Sale",
"category":"Wanted",
"code":"SWNT"
}
]
Run Code Online (Sandbox Code Playgroud)
我似乎无法从以下代码中获得一个好的NSDictionary(或NSArray):
+ (NSDictionary *)downloadJSON
{
NSDictionary *json_string;
NSString *dataURL = [NSString stringWithFormat:@"%@", JSON_CATEGORY_DATA_URL_STRING];
NSLog(@"%@",dataURL);
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:dataURL]];
NSData *response = [NSURLConnection sendSynchronousRequest:request returningResponse:nil error:nil];
json_string = [[[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding]autorelease];
NSDictionary *json_dict = (NSDictionary *)json_string;
NSLog(@"json_dict\n%@",json_dict);
NSLog(@"json_string\n%@",json_string);
return json_string;
}
Run Code Online (Sandbox Code Playgroud)
我已经阅读了很多这方面的帖子,但我没有得到它.
我有来自Web服务器的JSON响应,如下所示:
{"success":true, "token":"123456"}
Run Code Online (Sandbox Code Playgroud)
我想在if语句中使用它,并将其与"YES"进行比较.
但是,这样做不起作用:
NSDictionary *response = [response JSONValue]; // the JSON value from webservice response, converted to NSDictionary
if ([response objectForKey:@"success"]){} // does not work
if ([response objectForKey:@"success"] == YES){} // does not work
if ([[response objectForKey:@"success"] integerValue] == YES) {} // does not work...erroneous probably
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?布尔中的类型转换也会产生警告
在我的iPhone应用程序中,我有一个自定义对象列表.我需要从它们创建一个json字符串.我如何用SBJSON或iPhone sdk实现这个?
NSArray* eventsForUpload = [app.dataService.coreDataHelper fetchInstancesOf:@"Event" where:@"isForUpload" is:[NSNumber numberWithBool:YES]];
SBJsonWriter *writer = [[SBJsonWriter alloc] init];
NSString *actionLinksStr = [writer stringWithObject:eventsForUpload];
Run Code Online (Sandbox Code Playgroud)
我得到空的结果.
duplicate symbol _OBJC_METACLASS_$_SBJsonParser in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonParser.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonParser.o)
duplicate symbol _OBJC_CLASS_$_SBJsonParser in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonParser.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonParser.o)
duplicate symbol _OBJC_IVAR_$_SBJsonWriter.sortKeys in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_IVAR_$_SBJsonWriter.humanReadable in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_METACLASS_$_SBJsonWriter in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
duplicate symbol _OBJC_CLASS_$_SBJsonWriter in:
/Users/Gaditek/Library/Developer/Xcode/DerivedData/DietBet-gyhoyhmdrobtqregldjyixtgmize/Build/Intermediates/DietBet.build/Debug-iphonesimulator/DietBet.build/Objects-normal/i386/SBJsonWriter.o
/Users/Gaditek/Desktop/AliMaisamProjects/Dietbet/DietBet/libfacebook_ios_sdk.a(SBJsonWriter.o)
ld: 6 duplicate symbols for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
请告诉我如何解决这个问题?
我正在处理XCode的奇怪行为:
dyld: Library not loaded: /Library/Frameworks/SBJson.framework/Versions/A/SBJson
Run Code Online (Sandbox Code Playgroud)
基本上它忽略了实际的my Runpath Search Path(LD_RUNPATH_SEARCH_PATHS)配置@loader_path/../Frameworks.
我暂时无法加载任何嵌入式框架:/
otool 说
otool -L /Users/kilian/Library/Developer/Xcode/DerivedData/r-ghohkslxtxgpnuepmblogfjtuefx/Build/Products/Debug/r.app/Contents/MacOS/r
/Users/kilian/Library/Developer/Xcode/DerivedData/r-ghohkslxtxgpnuepmblogfjtuefx/Build/Products/Debug/r.app/Contents/MacOS/r:
/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa (compatibility version 1.0.0, current version 19.0.0)
/Library/Frameworks/SBJson.framework/Versions/A/SBJson (compatibility version 1.0.0, current version 37.0.0)
/System/Library/Frameworks/Foundation.framework/Versions/C/Foundation (compatibility version 300.0.0, current version 945.0.0)
/usr/lib/libobjc.A.dylib (compatibility version 1.0.0, current version 228.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 169.3.0)
/System/Library/Frameworks/AppKit.framework/Versions/C/AppKit (compatibility version 45.0.0, current version 1186.0.0)
Run Code Online (Sandbox Code Playgroud)
PS如果您想知道我是否将副本添加到框架构建阶段,答案是肯定的.
我刚刚克隆了SBJson框架的git存储库,并将源代码导入到我的应用程序中.跑了一个静态内存探查器,并从我看到的结果有点害怕.看图

这怎么可能?我怀疑这个知名图书馆的开发者没有看到这个?事实上,如果运行内存配置文件,它会显示此库中的内存泄漏.
有任何想法吗?谢谢
我收到此错误:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_ASIHTTPRequest", referenced from:
objc-class-ref in FirstViewController.o
"_OBJC_CLASS_$_SBJsonParser", referenced from:
objc-class-ref in FirstViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
注意我添加了框架核心图形,系统配置,移动核心服务,libz.dylib,libz.1.2.5.dylib,CF网络,UI工具包和基础.我搜索了所有论坛,花了差不多4天但却找不到原因.
当我评论我的ASIHTTPRequest和SBJSON代码行时,它工作正常.我添加了ASIHTTPRequest和SBJSON的所有类,并检查了三次.有谁能建议我做错了什么?
我从Web服务中获取了一个较大的JSON字符串(11MB)。当我使用JSONKit解析数据时,我的应用程序达到70MB,收到内存警告,并且应用程序崩溃。
如何解析此数据?
我目前在我的项目中有ShareKit,它被编译为静态库.它已得到妥善实施.我还通过将他们的框架添加到我的项目中来实现亚马逊的AWS SDK.
似乎重复的符号来自亚马逊的AWS SDK文件"AWSIOSSDK".这就是它的样子:

该文件与ShareKit的文件libShareKit.a发生冲突.这是该文件的样子:

无论如何,这些文件都是我以前从未见过的文件.似乎有些JSON文件在它们之间发生冲突.
我已经查看了其他SO问题,并且他们说要使用已编译的源代码执行某些操作,但这些文件都不在任何库的编译源中.
这是Xcode给出的确切错误:
ld: duplicate symbol _OBJC_CLASS_$_SBJsonParser
Run Code Online (Sandbox Code Playgroud)
无论如何,有没有人有任何想法我应该做什么?除非我解决这个问题,否则我的应用程序无法编译
谢谢!
我正在使用SBJson解析器开始一个新项目,人们似乎建议将其作为新的iOS项目的互联网上最好的.我有一个非常strage的问题是,目前的方法斯蒂格Brautaset声称你可以在使用当前版本(3.1) ,似乎过时了,或者至少那是什么我的编译器说.我似乎无法上班:
NSDictionary *dict = [responseString JSONValue];
Run Code Online (Sandbox Code Playgroud)
这似乎是最新的方式或:
NSDictionary *dict = [parser objectWithString:responseString error:&error];
Run Code Online (Sandbox Code Playgroud)
解析器是一个sbjson解析器.XCode突出显示了这两个函数并告诉我它们已被弃用.
我在这做错了什么?
sbjson ×10
ios ×6
objective-c ×5
iphone ×3
json ×3
cocoa ×1
duplicates ×1
ios4 ×1
libz ×1
nsarray ×1
nsdictionary ×1
symbols ×1
xcode ×1