2013-08-16 15 views
5

पायथन 2.6.6 और मैं जो कर रहा हूं वह zmq और json.loads (message) से संदेश प्राप्त होता है। क्षमा करें सब भ्रम के लिए json के रूप में यहJson.loads फेंकने ValueError

{"mouhter_id":"one_keert","header":{"header_version":"1","message_type":"one_keert","session_id":"428c0ebd497b9dfcc3170da0d1e0628e","timestamp":1376616699,"src_path":"*/dc/occ1/bell000/lcd_one_mtmt/26866","dst_path":"*/dc/lkjhgvd/lkjhgvd/fegtault/24068"},"payload":{"destHardwareId":"","command":{"id":"bmclmc1","params":{"keylen":"396","key":"AAAAIM0XlJxAEiX6t1KSyuQh+gCnP1Jmu3lkTZvxhiOUogyMAAABDC0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCk1JR2JNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWpBNEdHQUFRQjAxaTZkOG5xVTBnQVBIdHhFMDZqNEI0UDF4TXoKVTVYYy83RnZCVzBtTFI3WlQxRTRxUmw3VEx0OVcwSi85OU5XRzF3NU14Um1oK2dubEJxTTFkNytadU1BNU1NdgpFbmNHcmFpNU1UcHo3elE0cm9CQWZFOVA0czFvM0dRaThSRlVSbFJMdWl2Ym1jempkcVdCYVlEUjNCUU9IOU96ClRWOHFhUnpCN3l0T1NnS09yZzA9Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQoAAABAg7od/LedQJ8MEBvKQjcBWM2ObdIeSDd/2VygDn0XFwBgUpYiWgum7FE8O51E0Xv3/R6ibvgSPFblqHqLDBNzOgAAAAAAAAAAAAAAAAAAAAAAAAAA"}}}} 

मैं JSON निम्नलिखित है और अजगर में मैं इतना है कि मैं डेटा निकाल सकते हैं लोड यह कोशिश कर रहा हूँ है।

{ 
    "e_id": "1231231", 
    "header": { 
       "h_version": "1", 
       "m_type": "abc", 
       "s_id": "ffsfsd", 
       "timestamp": 1376614509, 
       "s_path": "*/dc/s1/De620/cpmgmt/25804", 
       "d_path": "*/dc/sfer/sfer/kelt/23642" 
       }, 
"payload": { 
"dereId": "", 
"cond":  { 
       "id": "srcstg1", 
       "pams": { 
        "keen": "396", 
        "ke":        "AAAAICZJsxIYABq3JXFRJ7ouZtoLDOLIJBnrw03uASQTiK+nAAABDC0tLS0tQkVHSU4gUFVCTElDIEtFWS0tLS0tCk1JR2JNQkFHQnlxR1NNNDlBZ0VHQlN1QkJBQWpBNEdHQUFRQkR2SEZLNVZZdUg3ZUFMRitLeWhLbWl0TEdEMzAKZmJOakNHYkVNRW1Geld4cFgzZXJ0RjhKSjdjMWZ6cFRhekJGRkpDNW5vR3FycWl2M3VGbGNuMitjUUlCUC9LaQo4V0h4ZVNBVkQ3R2lNTXJHMEVGYTBrOWNucnd5MEtWeU93MEVYcmwyQUNJcXg5enZBV3NLeERhUjRlRzRZVi9jCjB2cVlKcEh1OXNMbE9jWDJJVW89Ci0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQoAAABA+T4YOvY1ynTIlAUn8xI+/0c+2EAPRFF1uHx8jBP7uuNkb/wnRZl0hJWx6NAOd0kHuh2RdIXXMhXChaEWRNxq6wAAAAAAAAAAAAAAAAAAAAAAAAAA" 
        } 
       } 
      } 
} 

इसकी मुझे फेंक निम्न त्रुटि:

raise ValueError(errmsg("Extra data", s, end, len(s))) 
ValueError: Extra data: line 1 column 904 - line 1 column 905 (char 904 - 905) 

मैं फ़ाइल की वैधता की जांच करने के लिए jsonlint का इस्तेमाल किया है और इसे पारित करने कि validation.But मैं अब भी इस त्रुटि हो रही है लगता है? ने स्ट्रिंग से सभी नई लाइन और टैब हटा दी हैं। यहां कुछ भी याद आ रही है?

+1

त्रुटि को दोहराना नहीं कर सकता –

+8

कृपया जेएसओएन को फिर से दोबारा सुधार न करें, यह जानना थोड़ा मुश्किल है कि char 905 कहां है अगर हर कोई इसे सुधारता है ... –

+2

क्या आप अपना पायथन कोड भी पोस्ट कर सकते हैं? मेरा मुझे आपकी त्रुटि नहीं देता है। – AliBZ

उत्तर

1

जेसन स्ट्रिंग के अंत में एक शून्य चरित्र था जिसे मैं इसे सी ++ क्लाइंट से प्राप्त कर रहा था, इसलिए बस उस नल चार को हटा दिया गया और अब सभी अच्छे काम करते हैं।

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