• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - Web服务响应字典禁用按键自动排序?

[复制链接]
菜鸟教程小白 发表于 2022-12-13 01:08:04 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我的网络服务响应存在问题。字典键是自动排序的,我想要它们原样

实际的网络服务响应是:-

[data] => Array
        (
            [18] => How it works
            [22] => Benefits
            [23] => Win Free Airtime
            [7] => What can I Report?
            [10] => Our Goal
            [16] => Disclaimer
            [8] => FAQ
            [13] => Terms & Conditions
            [11] => Contact Us
            [14] => Feedback / suggestion
        )

不幸的是,它通过自动排序显示在下面

data =     {
        10 = "Our Goal";
        11 = "Contact Us";
        13 = "Terms & Conditions";
        14 = "Feedback / suggestion";
        16 = Disclaimer;
        18 = "How it works";
        22 = Benefits;
        23 = "Win Free Airtime";
        7 = "What can I Report?";
        8 = FAQ;
    };

我被卡住了下面是我的代码

[NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error)
     {


         [spinner stopAnimating];
         if ([data length] > 0 && error == nil)
         {
             //NSString* newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];

             NSDictionary * Dict = [NSDictionary dictionary];
             NSString* newStr = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSData *decryptedStr = [[NSData alloc] initWithBase64EncodedString:newStr options:0];

NSDictionary * Dict  =  [NSJSONSerialization JSONObjectWithData:decryptedStr options:kNilOptions error:nil];



Best Answer-推荐答案


没有办法做到这一点,因为结果不是一个数组而是一个没有顺序的字典。

您必须编写自己的 JSON 解析器并使用 NSDictionary 以外的其他东西来保持顺序。

最好的方法是使用数组来改变 JSON 输出:

{
    "data": [
        {
            "key": 10,
            "value": "Our Goal"
        },
        {
            "key": 11,
            "value": "Contact Us"
        },
        {
            "key": 13,
            "value": "Terms & Conditions"
        },
        {
            "key": 14,
            "value": "Feedback / suggestion"
        },
        {
            "key": 16,
            "value": "Disclaimer"
        },
        {
            "key": 18,
            "value": "How it works"
        },
        {
            "key": 22,
            "value": "Benefits"
        },
        {
            "key": 23,
            "value": "Win Free Airtime"
        },
        {
            "key": 7,
            "value": "What can I Report?"
        },
        {
            "key": 8,
            "value": "FAQ"
        }
    ]
}

关于ios - Web服务响应字典禁用按键自动排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25443878/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap