c# JSOn ऑब्जेक्ट wcf webservice पक्ष में ठीक से उपयुक्त नहीं है




ios web-services (2)

ठीक है, मैं कह सकता हूँ कि टॉमस्विफ्ट सही रास्ते पर है ... यह स्पष्ट है कि टूटी हुई जेएसओएन स्ट्रिंग के अंत से "" बस गायब है। वास्तव में ऐसा लगता है कि एक रेगेक्स द्वारा कुछ शुद्ध किया जा रहा है ... आपको वास्तव में चाहिए समस्या का स्रोत ढूंढ़ें, लेकिन एक त्वरित और गंदे निदान के लिए, जब आप इसे समझते हैं , तो आप केवल JSON पर अपना स्वयं का regex चला सकते हैं और यदि यह "} से समाप्त नहीं होता है, तो इसे जोड़ें ... सबसे पहले ऐसा कुछ करें: '/ "[0-9] + $ /' (यह जांचने के लिए कि अंत में एक खुली संख्यात्मक स्ट्रिंग है, अगर वहां है, आप इसे जोड़कर बंद कर देते हैं) तो जांच लें कि '/} $ / '(यदि) आखिरी चार है, यदि वह नहीं है: इसे जोड़ें)।

याद रखें, उपरोक्त केवल अस्थायी रूप से तय होना चाहिए (जैसा कि कुछ हद तक भारी है और यह वास्तव में बहुत ही सुंदर नहीं है), लेकिन मैं सोच सकता था कि ऐसा कुछ करने के लिए मजबूर किया जा रहा है, केवल समय की कमी के कारण। यदि वास्तव में समस्या एपीआई के भीतर से आ रही है, तो आप इसके बारे में रचनाकारों को बता सकते हैं और तय करते समय ऐसा तय करते हैं जैसे ऊपर तय किया गया।

पुनश्च। यदि कोई भी उपरोक्त जैसा तय करने का चुनाव करता है, तो कृपया कृपया उन सभी के प्यार के लिए कृपया, जो आपको पवित्र रखते हैं, कोड में एक टिप्पणी छोड़कर बताते हैं कि आपने ऐसा क्यों किया (जैसा कि आप हमें बताते हैं कि आपने क्या किया ...) ।

मैं आईओएस प्रोजेक्ट पर काम कर रहा हूं और जेसीएसन स्ट्रिंग को डब्लू सी एफ जाससेर के माध्यम से बैकेंड भेज रहा हूं, यह कई प्रयोक्ताओं के लिए सफलतापूर्वक काम कर रहा है, लेकिन कुछ प्रयोक्ताओं के लिए बैकेंड अपूर्ण जेसन स्ट्रिंग प्राप्त कर रहा है।

जेसन स्ट्रिंग बनाने के लिए कोड

NSData *data = [NSJSONSerialization dataWithJSONObject:EmployeeDetails options:0 error:nil];
    NSString *JsonString = [[NSString alloc] initWithData:data
                                                 encoding:NSUTF8StringEncoding];

और नीचे कोड द्वारा अनुरोध के साथ json स्ट्रिंग संलग्न करना

[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:[jsonString dataUsingEncoding:NSUTF8StringEncoding]];

कर्मचारी विवरण कर्मचारी विवरण के साथ NSMutableDictionary है।

तथा

बैकएंड से डीएसरीयल की गई सफल जेसन स्ट्रिंग

{"FirstName":"Donald","LastCBPaymentType":6,"AcceptEmail":true,"CellPhone":"321-300-6874","Position":"3","CarrierNum":"4","EmpNum":"96874"}

और अधूरा जेसन स्ट्रिंग

{"FirstName":"roset","LastCBPaymentType":6,"AcceptEmail":true,"CellPhone":"321-300-6874","Position":"3","CarrierNum":"4","EmpNum":"98799

कुछ उपयोगकर्ता के लिए बैकएंड में अपूर्ण जेसन स्ट्रिंग आ गई है

कोई भी इस मुद्दे को हल करने में मदद कर सकता है?


मुझे हाल ही में PHP / CodeIgniter में एक ऐसी ही समस्या थी और समस्या यह थी कि इससे पहले कि मेरे हैंडलर पर पहुंचने से पहले जेसनॉन को कुछ अत्यधिक महत्वाकांक्षी नियमित अभिव्यक्तियों के माध्यम से "स्वच्छ" किया जा रहा था शायद वैसे ही कुछ ऐसी स्वच्छता है जो WCF में होती है?

मैं कोशिश करूँगा चीजें:

  1. पुष्टि करने के लिए चार्ल्स प्रॉक्सी का उपयोग करना है कि अनुरोध (पोस्ट?) वास्तव में आपके द्वारा अपेक्षित पूर्ण शरीर भेज रहा है

  2. इसके बजाय सामग्री-प्रकार आवेदन / जेसन कोशिश करें







wcf