Ale*_*lex 3 iphone json objective-c nsmanagedobject sbjson
我有一个名为catObras的实体类,它继承自NSManagedObject类.我想要做的是通过JSON格式的Web服务(POST)传递它.如果我发送了这个对象,我会收到:
<catObras: 0x6d879f0> (entity: catObras; id: 0x6d859b0 <x-coredata://41B60B06-248C-488D-A14C-894E04D0395F/catObras/p2> ; data: {
Reporte = "<relationship fault: 0x6d9dc40 'Reporte'>";
calendarioVisitas = "<relationship fault: 0x6dac2c0 'calendarioVisitas'>";
catFondosInversion = "<relationship fault: 0x6d7a1b0 'catFondosInversion'>";
contratista = nil;
contrato = "XX-AYTO-ENS-BC-HABITAT-2011-IS-01";
descripcion = "AMPLIACION DE RED DE DRENAJE SANITARIO COL. VISTA HERMOSA";
direccion = nil;
estatus = nil;
fechaAprobacion = "2012-01-01 08:00:00 +0000";
fechaInicio = "2012-01-31 08:00:00 +0000";
fechaTerminacion = "2012-03-10 08:00:00 +0000";
fechaUltimoRep = nil;
idAgrupacion = 0;
idObra = 5;
inversionAprobada = 0;
inversionAutorizada = 1668000;
inversionContratada = 834000;
nota = asdasdasdasda;
numeroControl = "";
obraPartidas = "<relationship fault: 0x6d7a1f0 'obraPartidas'>";
observaciones = "muestras 2";
oficioAprobacion = "SDS/122/11/1857 OF.001";
supervisor = nil;})
Run Code Online (Sandbox Code Playgroud)
我想以json的形式传递这些信息.现在我正在使用SBJSON(又名JSON框架).当我尝试使用JSONRepresentation时,它会发送给我:
JSONRepresentation失败了.错误是:JSON的类型无效
有什么建议?
我不熟悉SBJSON,但我的猜测是-JSONRepresentation要在NSDictionaries上调用,而不是任意对象.你可以这样做:
NSManagedObject *managedObject = ...;
NSArray *keys = [NSArray arrayWithObjects:@"key1", @"key2", ..., nil]; // These are the keys for the properties of your managed object that you want in the JSON
NSString *json = [[managedObject dictionaryWithValuesForKeys:keys] JSONRepresentation];
Run Code Online (Sandbox Code Playgroud)
该-dictionaryWithValuesForKeys:方法在文档中描述.重要的是它返回一个NSDictionary,SBJSON可以处理它.您需要注意NSManagedObject子类上每个属性的类型,确保它们是SBJSON可以处理的类型.
| 归档时间: |
|
| 查看次数: |
4190 次 |
| 最近记录: |