0

我正在尝试使用我的客户在 iPhone 上制作的网络服务。据他们告诉我,它是使用 WCF 的。问题是我需要向一个方法发送一堆参数,其中一个是一个名为“__type”的键,它需要是字典上的第一个键。我试图争辩说,根据定义,字典不保证键的顺序,但坚持认为这个特定的键必须是字典中的第一个键。从我收集到的信息来看,这个属性就是他们所说的类型提示,它确实必须是字典中的第一个属性。

我有什么办法可以在 iPhone 上做到这一点吗?

4

1 回答 1

0

也许有点晚了,但我会为此推荐SBJson 框架

通过在 SBJsonwriter 上设置 sortKeys 属性,您的键将按字母顺序排序。大概您的键具有使 __type 成为排序 JSON 中的第一个键的名称。

NSDictionary *unsortedDictionary = [[NSDictionary alloc]
                                    initWithObjectsAndKeys:
                                    @"Doe", @"lastName",
                                    @"Person", @"__type",
                                    @"John",@"firstName",
                                    nil];

SBJsonWriter *writer = [[SBJsonWriter alloc] init];
writer.sortKeys = YES;
NSLog(@"%@",[writer stringWithObject:unsortedDictionary]);

这将产生排序良好的 JSON:

{"__type": "Person","firstName": "John","lastName": "Doe"}
于 2013-07-11T21:55:27.150 回答