菜鸟教程小白 发表于 2022-12-13 01:08:04

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


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

<p>实际的网络服务响应是:- </p>

<pre><code> =&gt; Array
      (
             =&gt; How it works
             =&gt; Benefits
             =&gt; Win Free Airtime
             =&gt; What can I Report?
             =&gt; Our Goal
             =&gt; Disclaimer
             =&gt; FAQ
             =&gt; Terms &amp; Conditions
             =&gt; Contact Us
             =&gt; Feedback / suggestion
      )
</code></pre>

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

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

<p>我被卡住了:(下面是我的代码</p>

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


         ;
         if ( &gt; 0 &amp;&amp; error == nil)
         {
             //NSString* newStr = [ initWithData:data encoding:NSUTF8StringEncoding];

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

NSDictionary * Dict=;
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>没有办法做到这一点,因为结果不是一个数组而是一个没有顺序的字典。</p>

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

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

<pre><code>{
    &#34;data&#34;: [
      {
            &#34;key&#34;: 10,
            &#34;value&#34;: &#34;Our Goal&#34;
      },
      {
            &#34;key&#34;: 11,
            &#34;value&#34;: &#34;Contact Us&#34;
      },
      {
            &#34;key&#34;: 13,
            &#34;value&#34;: &#34;Terms &amp; Conditions&#34;
      },
      {
            &#34;key&#34;: 14,
            &#34;value&#34;: &#34;Feedback / suggestion&#34;
      },
      {
            &#34;key&#34;: 16,
            &#34;value&#34;: &#34;Disclaimer&#34;
      },
      {
            &#34;key&#34;: 18,
            &#34;value&#34;: &#34;How it works&#34;
      },
      {
            &#34;key&#34;: 22,
            &#34;value&#34;: &#34;Benefits&#34;
      },
      {
            &#34;key&#34;: 23,
            &#34;value&#34;: &#34;Win Free Airtime&#34;
      },
      {
            &#34;key&#34;: 7,
            &#34;value&#34;: &#34;What can I Report?&#34;
      },
      {
            &#34;key&#34;: 8,
            &#34;value&#34;: &#34;FAQ&#34;
      }
    ]
}
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Web服务响应字典禁用按键自动排序?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25443878/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25443878/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Web服务响应字典禁用按键自动排序?