1
sharpnk 2013 年 9 月 5 日 为什么不给user做一个model,然后用你的raw json直接map过去?
然后就是你的 [arrayName objectAtIndex:i].address.city |
2
txx 2013 年 9 月 5 日 via iPhone 字典效率不如 model化啊。用字典是 不好的习惯 特别是在游戏里
|
3
tgfbeta 2013 年 9 月 5 日
[NSJSONSerialization JSONObjectWithData:data
options:NSJSONReadingMutableContainers|NSJSONReadingMutableLeaves error:nil]; |
4
refresh OP |
5
refresh OP |
6
cloudream 2013 年 9 月 5 日 ios7里objective-c可以和js互动了……
JSContext* context = [[JSContext alloc] init]; [context evaluateScript:@"console.log(\"Hello JavaScript\")"]; |
7
tgfbeta 2013 年 9 月 5 日
#import <Foundation/Foundation.h>
NSString *jsonString = @"{\"user\":[{\"role\": [1, 3, 4],\"address\":{\"city\": \"biejing\"}}]}"; int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); NSData *data = [jsonString dataUsingEncoding:NSUTF8StringEncoding]; NSError *err; NSMutableDictionary * dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&err]; dict[@"user"][0][@"address"][@"city"] = @"Shanghai"; NSLog(@"%@",dict); } return 0; } |
10
tgfbeta 2013 年 9 月 5 日
|
11
dorentus 2013 年 9 月 5 日
Model framework for Cocoa and Cocoa Touch
https://github.com/github/Mantle 我最近的项目在用这个做 JSON dictionary <==> model class |
12
PrideChung 2013 年 9 月 6 日
Foundatin提供的数据结构要转换为mutable就一个mutableCopy的事,能有多麻烦,难道你不知道数组和字典的新下标语法么。
|
13
alexrezit 2013 年 9 月 6 日
只能说明你菜, 不能说明它麻烦.
|
14
refresh OP @alexrezit 我认同这个结论
@PrideChung 我知道定义词典和NSArray可以用@{}与@[],也知道NSArray可以用[index]的方式取,但不知道dict也可以这样,确实方便很多。 @tgfbeta 准备改成property的方式,有必要么? @dorentus 看上去似乎不错 谢谢各位老师 |
15
refresh OP 再问一个菜鸟问题,对于JSON的字段名称,你们是专门建一个类,内建各种字段做影射,还是用define或者static呢?
我现在是建一个类,然后用类方法返回字段的名称。比如说: 1. json = {user: "uname"} 2. mapping: +(NSString*) userField{ return @"user"; } 或者用这样: static NSString *kJSONFieldUser = @"user"; 或者: #define kJSONFieldUser @"user" 各位老师,你们是怎么处理? @PrideChung @tgfbeta @alexrezit @cloudream |
18
alexrezit 2013 年 9 月 6 日
|
23
PrideChung 2013 年 9 月 6 日
@refresh 我一般都选择自己把JSON返回的数据map成一个类。如果你确实要用字符串下标的话,用常量字符串,不要用宏定义。
|
24
0day 2013 年 9 月 6 日
|
26
PrideChung 2013 年 9 月 6 日
|
27
0day 2013 年 9 月 6 日
@PrideChung 不会多难,不用 Core Data 存储,不考虑 RESTful 的话,自己写就 OK 了。只是看写到多范型的问题。
|
29
lex 2013 年 9 月 6 日
|
31
PrideChung 2013 年 9 月 6 日
|
32
0day 2013 年 9 月 6 日
@PrideChung 追求 lightweight 没错的,不过觉得结构不复杂这个,我倒是觉得要重新审视了!
|
33
lovebirdegg 2013 年 9 月 6 日
弱弱的问一下 这个modle化是什么意思
|
34
BB9z 2013 年 9 月 25 日
可以试试 https://github.com/icanzilb/JSONModel ,我感觉比 Mantle 要好用,不过代码有点搓。
|