Rad*_*adu 2 iphone json objective-c
我需要一个易于使用的库whit示例,用于将NSObject转换为JSON并再次返回,我在网上发现了大量用于解析JSon的解析示例,但在使用SBJSON将NSObject转换为JSON时没有太多,Anybody正文有一个很好的教程或者将NSObject转换为JSON的示例代码?
Pat*_*ini 13
使用SBJSON,它非常简单.
NSString *myDictInJSON = [myDict JSONRepresentation];
NSString *myArrayInJSON = [myArray JSONRepresentation];
Run Code Online (Sandbox Code Playgroud)
当然,要走另一条路阵,请:
NSDictionary *myDict = [myDictInJSON JSONValue];
NSArray *myArray = [myArrayInJSON JSONValue];
Run Code Online (Sandbox Code Playgroud)
kar*_*rim 12
使用SBJson,将对象转换为JSON字符串,您必须覆盖该proxyForJson方法.如下,
.h文件,
@interface MyCustomObject : NSObject {
NSString *receiverFirstName;
NSString *receiverMiddleInitial;
NSString *receiverLastName;
NSString *receiverLastName2;
}
@property (nonatomic, retain) NSString *receiverFirstName;
@property (nonatomic, retain) NSString *receiverMiddleInitial;
@property (nonatomic, retain) NSString *receiverLastName;
@property (nonatomic, retain) NSString *receiverLastName2;
- (id) proxyForJson;
- (int) parseResponse :(NSDictionary *) receivedObjects;
}
Run Code Online (Sandbox Code Playgroud)
在实现文件中,
- (id) proxyForJson {
return [NSDictionary dictionaryWithObjectsAndKeys:
receiverFirstName, @"ReceiverFirstName",
receiverMiddleInitial, @"ReceiverMiddleInitial",
receiverLastName, @"ReceiverLastName",
receiverLastName2, @"ReceiverLastName2",
nil ];
}
Run Code Online (Sandbox Code Playgroud)
要从JSON字符串中获取对象,您必须编写这样的parseResponse方法,
- (int) parseResponse :(NSDictionary *) receivedObjects {
self.receiverFirstName = (NSString *) [receivedObjects objectForKey:@"ReceiverFirstName"];
self.receiverLastName = (NSString *) [receivedObjects objectForKey:@"ReceiverLastName"];
/* middleInitial and lastname2 are not required field. So server may return null value which
eventually JSON parser return NSNull. Which is unrecognizable by most of the UI and functions.
So, convert it to empty string. */
NSString *middleName = (NSString *) [receivedObjects objectForKey:@"ReceiverMiddleInitial"];
if ((NSNull *) middleName == [NSNull null]) {
self.receiverMiddleInitial = @"";
} else {
self.receiverMiddleInitial = middleName;
}
NSString *lastName2 = (NSString *) [receivedObjects objectForKey:@"ReceiverLastName2"];
if ((NSNull *) lastName2 == [NSNull null]) {
self.receiverLastName2 = @"";
} else {
self.receiverLastName2 = lastName2;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10510 次 |
| 最近记录: |