-1

私は以下に示すようにjavascriptDTOを持っています。以下に示すparams=DTOリストを使用してjsonオブジェクトとして変換する構造は、Objective-cでここに来る必要がありますか?

これに基づいてJSONオブジェクトを構築するにはどうすればよいですか?

private List<Long> sizes=new ArrayList<Long>();
private List<Long> colors=new ArrayList<Long>();
private List<Long> styles=new ArrayList<Long>();
private List<String> gender=new ArrayList<String>();
private List<Long> brands=new ArrayList<Long>();
private Long vendor;
private String vendorName;
private Boolean isNewArrival=false;
private Boolean isSort=false;
private Boolean isSale=false;
private Boolean isNew=false;
private Boolean isVintage=false;
private Boolean isComingSoon=false;
private Long saleSize;
private Double minPrice=1.0;
private Double maxPrice=5000.0;
private Integer minSalePercentage=0;
private Integer maxSalePercentage=70;
private String socialCategory; 
4

2 に答える 2

3

つまり、DTO は単なるデザイン パターンです。続きを読む

同じプロパティを持ついくつかのクラスを作成できます。

お気に入り:

//.h
@interface SomeClassDTO : NSObject
@property (nonatomic, strong) NSArray *sizes;
@property (nonatomic, strong) NSArray *colors;
...
@property (nonatomic, assign) long vendor;
...
@end

//.m
@implementation SomeClassDTO
@end
于 2013-02-26T16:26:27.770 に答える
1

NSDictionary から NSData を作成する: NSDictionary を NSData に、またはその逆に変換するにはどうすればよいですか? 次に、json オブジェクトを作成できます。以下のリンク: http://developer.apple.com/library/ios/#documentation/Foundation/Reference/NSJSONSerialization_Class/Reference/Reference.html

DTO に基づいてクラスを作成し (ローカル変数を使用しました)、ディクショナリに入力してから、NSJSONserialization メソッドを使用して (必要な読み取りオプションを指定して)、jSON オブジェクトを作成します。大まかな例は次のとおりです。

        NSArray *colorArray = [[NSArray alloc]initWithObjects:@"Blue",@"Gray",nil ];

        NSString *vendorName = @"Name";
        double minPrice = 800.0;
        int minSalePercentage = 20;;

        NSMutableDictionary *jSonDictionary = [[NSMutableDictionary alloc]init];

        //Convert primitive types to NSNumber
        NSNumber *minPriceNum= [NSNumber numberWithDouble:minPrice];
        [jSonDictionary setObject:minPriceNum forKey:@"minPrice"];

        NSNumber *salePercentNum= [NSNumber numberWithInt:minSalePercentage];
        [jSonDictionary setObject:salePercentNum forKey:@"minSalePercentage"];

        [jSonDictionary setObject:vendorName forKey:@"vendorName"];
        [jSonDictionary setObject:colorArray forKey:@"colors"];

        //Convert the dictionary containing DTO values into NSData.
        NSData *myData = [NSKeyedArchiver archivedDataWithRootObject:jSonDictionary]; 

この後、次を使用できます: +(id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error

于 2013-02-27T08:45:10.580 に答える