2012-06-26 19 views
5

मुझे यकीन नहीं है कि मैं जो पूछने जा रहा हूं वह वास्तव में NSDictionary एकाधिक कुंजी के साथ है लेकिन ठीक है।एकाधिक कुंजी के साथ NSDictionary कैसे बनाएं?

मैं जो करना चाहता हूं वह है NSDictionary मेरे डेटा के लिए कुंजी और मान के साथ और फिर इसे JSON प्रारूप में परिवर्तित करें। JSON प्रारूप वास्तव में इस प्रकार दिखाई देगा:

{ 
    "eventData": { 
     "eventDate": "Jun 13, 2012 12:00:00 AM", 
     "eventLocation": { 
      "latitude": 43.93838383, 
      "longitude": -3.46 
     }, 
     "text": "hjhj", 
     "imageData": "raw data", 
     "imageFormat": "JPEG", 
     "expirationTime": 1339538400000 
    }, 
    "type": "ELDIARIOMONTANES", 
    "title": "accIDENTE" 
} 

मैं केवल इस तरह NSDictionaries का उपयोग किया है:

NSArray *keys = [NSArray arrayWithObjects:@"eventDate", @"eventLocation", @"latitude" nil]; 
NSArray *objects = [NSArray arrayWithObjects:@"object1", @"object2", @"object3", nil]; 
dictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys]; 

लेकिन इसके बाद के संस्करण प्रारूप सभी के बारे में महत्वपूर्ण नहीं है - मूल्य। तो मेरा सवाल यह है कि JSON प्रारूप फिट करने के लिए कैसे होगा ?? मेरी पोस्ट पढ़ने के लिए धन्यवाद, और अगर कोई भ्रम है तो खेद है। - कुंजी और वस्तुओं के साथ वस्तु NSMutableDictionary के लिए महत्वपूर्ण
आपका जड़ वस्तु NSMutableDictionary
eventData है:

उत्तर

32

आप जानते हैं कि आपके पासहो सकता हैके अंदर 0?

NSDictionary *eventLocation = [NSDictionary dictionaryWithObjectsAndKeys:@"43.93838383",@"latitude",@"-3.46",@"latitude", nil]; 

NSMutableDictionary *eventData = [NSDictionary dictionaryWithObjectsAndKeys:eventLocation,@"eventLocation", nil]; 
[eventData setObject:@"Jun 13, 2012 12:00:00 AM" forKey:@"eventDate"]; 
[eventData setObject:@"hjhj" forKey:@"text"]; 
. 
. 
. 
NSMutableDictionary *finalDictionary = [NSMutableDictionary dictionaryWithObjectsAndKeys:eventData,@"eventData", nil]; 
[finalDictionary setObject:@"ELDIARIOMONTANES" forKey:@"type"]; 
[finalDictionary setObject:@"accIDENTE" forKey:@"title"]; 
+0

आपने @ अक्षांश "और शून्य के बीच एक अल्पविराम छोड़ा। – DarkMoon

1

यहाँ संरचना है
-> कुंजी eventDate वस्तु NSString
-> कुंजी eventLocation कुंजी और वस्तुओं के साथ वस्तु NSMutableDictionary:
----> कुंजी latitude वस्तु NSNumber
----> कुंजी longitude वस्तु NSNumber
-> कुंजी text वस्तु NSString
-> कुंजी imageData वस्तु NSString बाद में करने के लिए परिवर्तित NSData
-> कुंजी imageFormat वस्तु NSString
-> कुंजी expirationTime वस्तु NSNumber
type वस्तु NSString के लिए महत्वपूर्ण
title वस्तु NSString के लिए कुंजी

+0

कि बहुत अच्छा लगता है लेकिन क्या आप मुझे Obj सी वाक्य रचना कारण मैं बहुत हूँ के साथ मदद कर सकता है अनुसरण कर सकते हैं इस के लिए नया? – donparalias

+0

भविष्य के संदर्भ के लिए, गंभीर संरचना का उपयोग करें, इस बीच आप मेरे द्वारा पोस्ट किए गए कोड का उपयोग कर सकते हैं। – Peres

+0

हां @ जैकी बॉय के कोड – graver

13

अब उद्देश्य-सी अक्षर के साथ यह पूरा करने का एक बेहतर, आसान और क्लीनर तरीका है। यहाँ इस नई वाक्य रचना के साथ अपने सटीक शब्दकोश है:

NSDictionary *dictionary = @{ 
    @"eventData": @{ 
     @"eventDate": @"Jun 13, 2012 12:00:00 AM", 
     @"eventLocation": @{ 
      @"latitude": @43.93838383, 
      @"longitude": @-3.46 
     }, 
     @"text": @"hjhj", 
     @"imageData": @"raw data", 
     @"imageFormat": @"JPEG", 
     @"expirationTime": @1339538400000 
    }, 
    @"type": @"ELDIARIOMONTANES", 
    @"title": @"accIDENTE" 
}; 

// Prints: "43.93838383" 
NSLog(@"%@", dictionary[@"eventData"][@"eventLocation"][@"latitude"]); 
2

कैसे NSArray और NSDictionary का उपयोग कर वस्तु के लिए प्रवेश के साथ बनाने के लिए?

... NSArray

NSArray *studentkeys = [NSArray arrayWithObjects:@"studentName", @"studentBirthDate", @"studentCity", @"studentMobile" nil]; 

NSArray *objects = [NSArray arrayWithObjects:@"Pravin", @"27/08/1990", @"Bhavnagar",@"7878007531", nil]; 

बनाएं ...NSDictionary

NSDictionary *dictionary = [NSDictionary dictionaryWithObjects:objects forKeys:keys];         
0

का उपयोग NSArray वस्तु का उपयोग करने के लिए यदि आप कई श्रेणियों चाहते हैं, तो आप इस प्रारूप

NSDictionary *jsonObject = @{ 
          @"data1":@[ 
           @{ 
           @"title":@"A" 

           @"subData" : @[ 
           @{ 
            @"title":@"aa" 
           }] 
           } 

          ] 
         }; 
+0

कृपया अपने कोड –

+0

पर एक स्पष्टीकरण जोड़ें यदि आप NSDictionary का उपयोग करके कई श्रेणियां प्रबंधित करना चाहते हैं, तो आप इस प्रारूप का अनुसरण कर सकते हैं –

संबंधित मुद्दे