2013-01-31 31 views
5

संभव डुप्लिकेट:
How to parsing JSON object in iPhone SDK (XCode) using JSON-Frameworkआईफोन में जेसन मूल्य का विश्लेषण कैसे करें?

मैं iPhone आवेदन में काम कर रहा हूँ, वेब सेवा, कैसे 1221 की तरह Json मूल्य प्राप्त करने से Json मान पार्स करने JSON ढांचे का उपयोग करना, 1278, 3456, ........... आदि (यह मान निरंतर नहीं है, यह गतिशील रूप से मूल्य को स्वचालित रूप से बदलता है, इसलिए मुझे यह नहीं पता था) क्या ऐसा करना संभव है?

अग्रिम धन्यवाद

आपके संदर्भ के लिए

JSON प्रतिक्रिया:

{ 
     "1221": 
    { 
      "type": "product", 
      "product_id": 1221, 
      "intID": "1", 
      "name": "rer Margherita", 
      "des": "Tomatensauce, Käse<sup>1</sup>", 
      "img": "", 
      "isDeal": false, 
      "cat": { 
       "1": { 
        "price": 4, 
        "pos": 1, 
        "catname": "normal", 
        "extras": false 
       }, 
       "2": { 
        "price": 5.9, 
        "pos": 2, 
        "catname": "groß", 
        "extras": false 
       } 
      } 
     }, 
     "1278": { 
      "type": "product", 
      "product_id": 1222, 
      "intID": "2", 
      "name": "ere Zwirerebeln", 
      "des": "er", 
      "img": "", 
      "isDeal": false, 
      "cat": { 
       "1": { 
        "price": 2, 
        "pos": 1, 
        "catname": "rer", 
        "extras": true 
       }, 
       "2": { 
        "price": 6.2, 
        "pos": 2, 
        "catname": "mega", 
        "extras": true 
       } 
      } 
     }, 
+0

NSArray * आगमन = [[NSArray alloc] initWithArray: [शब्दकोश allKeys]]; आपको सभी चाबियों की सरणी मिल जाएगी। –

+0

आपके उत्तर – SampathKumar

+0

के लिए धन्यवाद तो आप प्रतिक्रिया के साथ कुंजी की तुलना कर सकते हैं और अपनी कुंजी के अनुसार पूरे शब्दकोश को वापस प्राप्त कर सकते हैं। –

उत्तर

2

बस एक वस्तु

NSData *jsonData = //response data 

NSDictionary *object = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil]; 

तो फिर वहाँ है कोई पार्स शामिल, तुम बस के साथ सौदा में अपने JSON डेटा परिवर्तित शब्दकोष। (या सरणी, आदि ...)

सूची आप आप तो क्या कर सकते हैं प्राप्त करने के लिए ...

NSArray *requiredValues = [object allKeys]; 
+0

आप पहली बार 'एनएसडीएटीए' ऑब्जेक्ट को 'एनएसएसटींग' (ASCII? वास्तव में?) में क्यों बदलेंगे और फिर 'JSONObjectWithData:' में 'self' का उपयोग करने के बजाय' NSData' पर वापस आ जाएंगे? मुझे नहीं लगता कि आपको किसी चीज के लिए एक श्रेणी विधि क्यों चाहिए, वैसे भी एक लाइनर है। – omz

+0

मुझे पता नहीं, यह कुछ ऐसा है जो मैंने थोड़ी देर पहले इस्तेमाल किया था और यह अटक गया था। अच्छा बिंदु thoguh। – Fogmeister

+0

आपके उत्तर के लिए धन्यवाद – SampathKumar