zoukankan      html  css  js  c++  java
  • Convert an object into Json using SBJson or other JSON library

    Using SBJson, to convert a object to JSON string, you have to override the proxyForJson method. Like the following,

    The .h file,

    @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;
    }

    In the implementation file,

        - (id) proxyForJson {

           
    return [NSDictionary dictionaryWithObjectsAndKeys:
                receiverFirstName
    , @"ReceiverFirstName",
                receiverMiddleInitial
    , @"ReceiverMiddleInitial",
                receiverLastName
    , @"ReceiverLastName",
                receiverLastName2
    , @"ReceiverLastName2",
                nil
    ];
       
    }

    And to get the object from the JSON string you have to write a parseResponse method like this,

    - (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;
    }
  • 相关阅读:
    tensorflow入门(三)
    tensorflow入门(二)
    setTimeout
    PreResultListener
    sql 删除重复记录
    oracle dual表用途及结构详解
    oracle中的dual表
    Dubbo远程调用服务框架原理与示例
    struts2和spring的两种整合方式
    Timer和TimerTask详解
  • 原文地址:https://www.cnblogs.com/neozhu/p/2431890.html
Copyright © 2011-2022 走看看