[C#] JSOn oggetto non deserializing correttamente nel lato webservice wcf


Answers

Ho avuto un problema simile in PHP / CodeIgniter di recente e il problema era che il JSON veniva "disinfettato" attraverso alcune espressioni regolari eccessivamente ambiziose prima che arrivasse al mio gestore. Forse c'è qualche sanificazione simile che si verifica in WCF?

Cose che proverei:

  1. Utilizzando Charles Proxy per confermare che la richiesta (POST?) Sta effettivamente inviando il corpo completo come previsto.

  2. Prova invece Content-Type application / json.

Question

Sto lavorando su un progetto iOS e inviando la stringa Json per eseguire il back-end tramite wcf webservice, funziona con successo per molti utenti ma per alcuni utenti ha il backend che ottiene una stringa json incompleta.

Codice per la generazione della stringa Json

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

E allegando la stringa json con richiesta dal seguente codice

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

EmployeeDetails è NSMutableDictionary con i dettagli dei dipendenti.

E

Ecco la stringa JSON di successo deserializzata da BackEnd

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

E stringa incompleta Json

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

La stringa json incompleta che si verifica nel backend per alcuni utenti.

Qualcuno può aiutare a risolvere questo problema?