iPhone / iOS JSON पार्सिंग ट्यूटोरियल [बंद]


103

एक सीखने के अनुभव के रूप में, मैं एक iPhone एप्लिकेशन बनाना चाहता हूं जो एक वेबसर्वर / वेबसेवा को कॉल करता है, एक JSON प्रतिक्रिया को पुनः प्राप्त करता है, और उस प्रतिक्रिया को एक की पंक्तियों को पॉप्युलेट करने के लिए उपयोग करता है UITableView(यह मानते हुए कि यह JSON को NSArrayपहले में परिवर्तित करता है )।

किसी को भी कुछ भी पता है कि उपयोगी हो सकता है?

जवाबों:


164

यह ढांचा आपको पसंद आएगा ।

और आपको यह टूल पसंद आएगा ।

JSON के बारे में जानने के लिए आप इस संसाधन को पसंद कर सकते हैं ।

और आप शायद इस ट्यूटोरियल को पसंद करेंगे ।


तुम मेरे बारे में पूरी तरह से प्यार करते हो, वह भी @icnivad के लिए, इस लीड के लिए बहुत बहुत धन्यवाद यह बहुत उपयोगी है।
केसी फ्लिन

। आपके द्वारा उल्लिखित ट्यूटोरियल को डीएमजी फ़ाइल की आवश्यकता है, लेकिन मुझे आपके लिंक पर डीएमजी फाइल नहीं मिली है। उस लिंक को जीथब पर निर्देशित किया गया है और इसमें विभिन्न वर्गों और उदाहरणों के साथ एक ज़िप फ़ाइल है लेकिन मुझे समझ में नहीं आता कि मुझे अपनी परियोजना में कौन सा हिस्सा सम्मिलित करना है। क्या आप मेरी मदद कर सकते हैं?
alekhine

2
हाँ, वह प्रोजेक्ट जीथब में चला गया। यहां प्राप्त करें: github.com/stig/json-framework
टॉड हॉपकिंसन

आपको शायद यह भी पसंद होगा। हिटलर
कैस्पर हार्मर

यह SBJson बात अगर यह बनाया अच्छा होगा। ओएस एक्स लायन में एक्सकोड 4 में 44 त्रुटियों के साथ मेरे लिए विफल रहता है।
सारा वेसल्स

57

IOS 5.0 के रूप में Apple NSJSONSerialization क्लास प्रदान करता है "JSON को फाउंडेशन ऑब्जेक्ट में बदलने और फाउंडेशन ऑब्जेक्ट को JSON में कन्वर्ट करने के लिए"। शामिल करने के लिए कोई बाहरी ढांचा नहीं और बेंचमार्क के अनुसार इसका प्रदर्शन काफी अच्छा है, SBJSON से काफी बेहतर है।


यह शब्द तब तक बढ़िया है जब तक कि iOS 4 और पुराने संस्करणों को सपोर्ट करने की योजना नहीं है।
संजय चौधरी

18
चूंकि यह अब 2012 है और iOS6 आसन्न है - इस मामले में अधिक संभावना है।
अबिज़र्न

1
और बेंचमार्क परिणाम "404 नॉट फाउंड" है।
पैंग

कुछ अद्यतन मानक, NSJSONSerialization को सबसे तेज़ दिखाते हुए: stackoverflow.com/questions/16218583/jsonkit-benchmark
darrinm

6
SBJSON *parser = [[SBJSON alloc] init];

NSString *url_str=[NSString stringWithFormat:@"Example APi Here"];

url_str = [url_str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURLRequest *request =[NSURLRequest requestWithURL:[NSURL URLWithString:url_str]];

NSData *response = [NSURLConnection sendSynchronousRequest:request  returningResponse:nil error:nil];

NSString *json_string = [[NSString alloc] initWithData:response1 encoding:NSUTF8StringEncoding]

NSDictionary *statuses = [parser2 objectWithString:json_string error:nil];

 NSArray *news_array=[[statuses3 objectForKey:@"sold_list"] valueForKey:@"list"];

    for(NSDictionary *news in news_array)
{

    @try {
        [title_arr addObject:[news valueForKey:@"gtitle"]];    //values Add to title array

    }
    @catch (NSException *exception) {

        [title_arr addObject:[NSString stringWithFormat:@""]];
    }

एक कोड नमूना प्रदान करने के लिए धन्यवाद!
पिस्सू

4

इस सबसे तेज JSON फ्रेमवर्क JSONKit के साथ प्रयास करें । यह सामान्य JSON फ्रेमवर्क से तेज है।


1
आप सही कह रहे हैं, यह तेज़ बिजली है!
इवान फिओरवंती

सबसे अच्छा JSON फ्रेमवर्क +1

4

यह वह ट्यूटोरियल है जिसका उपयोग मैंने डर्मिनम के उत्तर के लिए किया। यह ios5 / 6 के लिए अपडेट किया गया है और वास्तव में आसान है। जब मैं काफी लोकप्रिय हो जाता हूं, तो मैं इसे हटा दूंगा और इसे उनके उत्तर के लिए एक टिप्पणी के रूप में जोड़ूंगा।

http://www.raywenderlich.com/5492/working-with-json-in-ios-5

http://www.touch-code-magazine.com/tutorial-fetch-and-parse-json-in-ios6/


1

यहाँ मेरे ट्यूटोरियल का लिंक दिया गया है, जो आपको चलता है:

  • स्क्रैच से JSON WCF वेब सेवा बनाना (और जिन समस्याओं से आप बचना चाहेंगे)
  • SQL सर्वर डेटा को पढ़ने / लिखने के लिए इसे एडाप्ट करना
  • JSON सर्विसेस का उपयोग करने के लिए iOS 6 ऐप प्राप्त करना।
  • जावास्क्रिप्ट के साथ JSON वेब सेवाओं का उपयोग करना

http://mikesknowledgebase.com/pages/Services/WebServices-Page1.htm

सभी स्रोत कोड नि: शुल्क प्रदान किए जाते हैं। का आनंद लें।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.