菜鸟教程小白 发表于 2022-12-13 09:32:01

ios - 我如何将json字符串发布到服务器


                                            <p><p>这是我必须发布的 json 字符串... </p>

<pre><code>{
    &#34;data&#34;: {
      &#34;description&#34;: &#34;&#34;,
      &#34;current_value&#34;: &#34;&#34;,
      &#34;serialno&#34;: &#34;&#34;,
      &#34;condition&#34;: &#34;&#34;,
      &#34;category&#34;: &#34;category&#34;,
      &#34;purchase_value&#34;: &#34;&#34;,
      &#34;new_or_used&#34;: &#34;&#34;,
      &#34;gift_or_purchase&#34;: &#34;&#34;,
      &#34;image&#34;: &#34;&#34;
    },
    &#34;subtype&#34;: &#34;fd3102d8-bc19-424b-bca2-774a8fd7ea6f&#34;
}
</code></pre>

<p>如何以 JSON 格式发布?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这个 Q 我们肯定是重复的,但这里是完整的示例代码,作为一个长例程。只需复制和粘贴即可。</p>

<p>首先设置 JSON...</p>

<pre><code>-(void)sendTestJsonCommand
    {
    NSMutableDictionary *dict = @{
      @&#34;heights&#34;:@&#34;4_5_7&#34;,
      @&#34;score&#34;:@&#34;4&#34;,
      @&#34;title&#34;:@&#34;Some Title&#34;,
      @&#34;textBody&#34;:@&#34;Some Long Text&#34;,
      @&#34;happy&#34;:@&#34;y&#34;
      }.mutableCopy;

    NSError *serr;

    NSData *jsonData = [NSJSONSerialization
      dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&amp;serr];

    if (serr)
      {
      NSLog(@&#34;Error generating json data for send dictionary...&#34;);
      NSLog(@&#34;Error (%@), error: %@&#34;, dict, serr);
      return;
      }

    NSLog(@&#34;Successfully generated JSON for send dictionary&#34;);
    NSLog(@&#34;now sending this dictionary...\n%@\n\n\n&#34;, dict);
</code></pre>

<p>接下来,正确地将命令和 json 异步发送到您的服务器...</p>

<pre><code>#define appService [NSURL \
URLWithString:@&#34;http://www.corp.com/apps/function/user/pass/id/etc&#34;]

    // Create request object
    NSMutableURLRequest *request = ;

    // Set method, body &amp; content-type
    request.HTTPMethod = @&#34;POST&#34;;
    request.HTTPBody = jsonData;
    ;
    ;

    [request setValue:
      [NSString stringWithFormat:@&#34;%lu&#34;,
      (unsigned long)] forHTTPHeaderField:@&#34;Content-Length&#34;];

    // you would almost certainly use MBProgressHUD at this point
    // to display some sort of spinner or similar action on the UX
</code></pre>

<p>最后,(A) 使用 NSURLConnection 正确连接,(B) 正确解释从服务器返回给您的信息。</p>

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

      if (!data)
            {
            NSLog(@&#34;No data returned from server, error ocurred: %@&#34;, error);
            NSString *userErrorText = [NSString stringWithFormat:
               @&#34;Error communicating with server: %@&#34;, error.localizedDescription]
            return;
            }

      NSLog(@&#34;got the NSData fine. here it is...\n%@\n&#34;, data);
      NSLog(@&#34;next step, deserialising&#34;);

      NSError *deserr;
      NSDictionary *responseDict = [NSJSONSerialization
                                    JSONObjectWithData:data
                                    options:kNilOptions
                                    error:&amp;deserr];

      NSLog(@&#34;so, here&#39;s the responseDict\n\n\n%@\n\n\n&#34;, responseDict);

      // LOOK at that output on your console to learn how to parse it.
      // to get individual values example blah = responseDict[@&#34;fieldName&#34;];
      }];

    }
</code></pre>

<p>希望它可以节省一些人的打字时间!</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 我如何将json字符串发布到服务器,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/26094270/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/26094270/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 我如何将json字符串发布到服务器