2013-10-24 9 views
7

क्या अजगर में जेसन विशेषताओं को पार्स करने पर कोई अच्छा ट्यूटोरियल है? मैं "ठीक" फ़ील्ड के लिए सही मान को पार्स करने में सक्षम होना चाहता हूं। साथ ही "client_ind_1" नामक इंडेक्स। मैं इस विषय पर पायथन दस्तावेज़ कवरेज को समझ नहीं पा रहा हूं। अगर कोई मुझे बेहतर संसाधन के बारे में बता सकता है या इंगित कर सकता है, तो यह बहुत ही अच्छा होगा।पाइसन में पार्सिंग जेसन फ़ील्ड

मेरे json स्ट्रिंग नीचे दिखाई देता है:

{ 
    "ok": true, 
    "_shards": { 
     "total": 2, 
     "successful": 1, 
     "failed": 0 
    }, 
    "indices": { 
     "client_ind_2": { 
      "index": { 
       "primary_size": "2.5mb", 
       "primary_size_in_bytes": 2710326, 
       "size": "2.5mb", 
       "size_in_bytes": 2710326 
      } 
     } 
    } 
} 

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

+0

संभवतः यह डुप्लिकेट है, कृपया पर देखने // stackoverflow। com/प्रश्न/4759634/अजगर-json-ट्यूटोरियल –

उत्तर

12
import json 

a = """{ 
    "ok": true, 
    "_shards": { 
     "total": 2, 
     "successful": 1, 
     "failed": 0 
    }, 
    "indices": { 
     "client_ind_2": { 
      "index": { 
       "primary_size": "2.5mb", 
       "primary_size_in_bytes": 2710326, 
       "size": "2.5mb", 
       "size_in_bytes": 2710326 
      } 
     } 
    } 
}""" 

b = json.loads(a) 

print(b['ok']) 
print(b['indices']['client_ind_2']['index']) 

यह अजगर शब्दकोश के रूप में json का समय लगेगा और प्रिंट होगा 'ठीक है' और सूचकांक मूल्य आप चाहते हैं: http:

True 
{u'primary_size': u'2.5mb', u'primary_size_in_bytes': 2710326, u'size_in_bytes': 2710326, u'size': u'2.5mb'} 
1
import json 
dct = json.loads(my_json_str) 
is_ok = dct['ok'] 
client_index = dct['indices']['client_ind_2']['index'] 
संबंधित मुद्दे