我正在尝试使用 Json 序列化 objc 对象以将其发送到服务器。
同一台服务器在 GET 上为此对象类型发送以下内容:
{
"TypeProperties":[
{"Key":"prop 0","Value":"blah 0"},
{"Key":"prop 1","Value":"blah 1"},
{"Key":"prop 2","Value":"blah 2"},
{"Key":"prop 3","Value":"blah 3"}
],
"ImageURls":[
{"Key":"url 0","Value":"blah 0"},
{"Key":"url 1","Value":"blah 1"},
{"Key":"url 2","Value":"blah 2"},
{"Key":"url 3","Value":"blah 3"}
]
}
SBJsonWriter 为我在 objc 中创建的匹配对象/类型生成以下内容:
{
"TypeProperties": {
"key 2": "object 2",
"key 1": "object 1",
"key 4": "object 4",
"key 0": "object 0",
"key 3": "object 3"
},
"ImageUrls": {
"key 0": "url 0",
"key 1": "url 1",
"key 2": "url 2"
}
}
这就是我使用 SBJsonWriter 的方式:
SBJsonWriter *writer = [[SBJsonWriter alloc] init];
writer.humanReadable = YES;
NSString* json = [writer stringWithObject:itemToAdd];
这是我在被序列化的类中的 proxyForJson 实现(SBJsonWriter 需要):
- (NSDictionary*) proxyForJson
{
return [NSMutableDictionary dictionaryWithObjectsAndKeys:
self.typeProperties, @"TypeProperties",
self.imageUrls, @"ImageUrls",
nil];
}
被序列化的类只包含两个属性:typeProperties 和 imageUrls(都是 NSMutableDictionary)。
现在,问题是:当我执行 POST 时,服务器(毫不奇怪)不解析 SBJsonWriter 生成的 Json。问题是:如何生成与服务器提供的 Json 匹配的 Json(假设在上传时会正确解析匹配的 Json)。
提前感谢您的帮助。