iOS: 'Tipo de nivel superior no válido en escritura JSON' hace que el programa retroceda

Ios Invalid Top Level Type Json Writecauses Program Flash Back

Por la tarde, probaré las nuevas características del desarrollo. Cuando pruebo la demostración, descubro que soy responsable de la página de publicación. Cuando no se agregan los productos relacionados, el proceso de publicación volverá a parpadear. Después de la reunión, comencé a depurar el error y encontré el motivo. Un punto de interrupción global localiza fácilmente el código que hizo que el programa retrocediera. Resultó ser un método para convertir el diccionario en una cadena.

|_+_|

El registro de errores es el siguiente: [NSJSONSerialization dataWithJSONObject: opciones: error:]: tipo de nivel superior no válido en escritura JSON



La causa del error es que se llama cuando no se agrega ningún elemento asociado. / / Dictionary converted to Json string + (NSString *)convertDictionaryToJsonString:(NSDictionary *)dic { NSError *error = nil NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error] return [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding] } Copy code Cuando se pasa el método, el argumento es una cadena vacía y la cadena se utiliza como diccionario. La cadena no se puede convertir al formato json , por lo que el código se ejecuta en convertDictionaryToJsonString Cuando se emite la declaración, hace que la aplicación retroceda.



La razón de este error es que los datos devueltos por la interfaz en segundo plano han cambiado. Los colegas me han modificado el código sin decírmelo. Bueno, no quiero decir nada. . . para registrar el primer encuentro con este error.