2011-05-18 25 views
7

के लिए जेएसओएन फ्रेमवर्क का उपयोग करके जेएसओएन प्रोग्रामेटिक रूप से जेनरेट करने के लिए कैसे करें मैं उसमें एक एप्लीकेशन बना रहा हूं जिसमें मुझे कुछ प्रतिक्रिया प्राप्त करने के लिए सर्वर पर JSON भेजने की आवश्यकता है।आईफोन

क्या कोई मुझे आईफोन के लिए JSON Framework का उपयोग कर जेएसओएन उत्पन्न करने में मदद कर सकता है ??

यदि संभव हो तो कोई अन्य तरीका कृपया मुझे सुझाव दें या मुझे कुछ कोड या ट्यूटोरियल प्रदान करें।

मैंने पता लगाने की कोशिश की लेकिन समाधान नहीं मिल सके।

उत्तर

13

एक सरणी या जानकारी आप JSON के माध्यम से भेजना चाहते हैं का प्रतिनिधित्व वस्तुओं के शब्दकोश बनाएँ। ऐसा करने के बाद, सरणी/शब्दकोश में -JSONRepresentation भेजें। वह विधि एक JSON स्ट्रिंग देता है, और आप इसे सर्वर पर भेजते हैं।

उदाहरण के लिए:

NSDictionary *o1 = [NSDictionary dictionaryWithObjectsAndKeys: 
    @"some value", @"key1", 
    @"another value", @"key2", 
    nil]; 

NSDictionary *o2 = [NSDictionary dictionaryWithObjectsAndKeys: 
    @"yet another value", @"key1", 
    @"some other value", @"key2", 
    nil]; 

NSArray *array = [NSArray arrayWithObjects:o1, o2, nil]; 

NSString *jsonString = [array JSONRepresentation]; 

// send jsonString to the server 

उपरोक्त कोड को क्रियान्वित करने के बाद, jsonString शामिल हैं:

[ 
    { 
     "key1": "some value", 
     "key2": "another value" 
    }, 
    { 
     "key1": "yet another value", 
     "key2": "some other value" 
    } 
] 
1

एनएसएमयूटेबल डिक्शनरी या एनएसएमयूटेबलएरे बनाएं और इसे NSNumbers और NSStrings के साथ पॉप्युलेट करें। JSON स्ट्रिंग को वापस करने के लिए [<myObject> JSONRepresentation] पर कॉल करें।

जैसे:

NSMutableDictionary *dict = [NSMutableDictionary dictionary]; 
[dict setObject:@"Sam" forKey:@"name"]; 
[dict setObject:[NSNumber numberWithInt:50000] forKey:@"reputation"]; 
NSString *jsonString = [dict JSONRepresentation];