菜鸟教程小白 发表于 2022-12-12 16:09:29

iOS : Message = "An error has occurred." in JSON POST


                                            <p><p>在java中工作,而不是在 objective-c 中。尽管处于“已发布 Json 数据”状态,但数据并未保存在数据库中。
我应该以如下所示的格式发送数据以获取 json 响应</p>

<pre><code>{
                &#34;ProjID&#34;: &#34;78&#34;,
                &#34;Uid&#34;: &#34;12&#34;,
                &#34;EmailID&#34;: &#34;[email protected]&#34;,
                &#34;ProjectInviterFQAnswers&#34;: [{
                  &#34;slno&#34;: &#34;1&#34;,
                  &#34;Answer&#34;: &#34;a1&#34;,
                  &#34;order&#34;: &#34;1&#34;,
                  &#34;flag&#34;: &#34;F&#34;
                }, {
                  &#34;slno&#34;: &#34;2&#34;,
                  &#34;Answer&#34;: &#34;a1&#34;,
                  &#34;order&#34;: &#34;2&#34;,
                  &#34;flag&#34;: &#34;F&#34;
                }, {
                  &#34;slno&#34;: &#34;1&#34;,
                  &#34;Answer&#34;: &#34;a1&#34;,
                  &#34;order&#34;: &#34;2&#34;,
                  &#34;flag&#34;: &#34;Q&#34;
                }
                ]
            };
</code></pre>

<p>我正在发送我登录的字典,格式如下所示。</p>

<p> <img src="/image/TKqKG.png" alt="enter image description here"/> </p>

<p>上面的代码和我的日志截图的区别是';'在每个键值对之后,因此我得到了标题中提到的响应。</p>

<p>有什么建议可以纠正代码/逻辑吗?这是我的代码。</p>

<pre><code> NSError *error = Nil;
    NSOperationQueue *queue = [ init];

    NSDictionary *dictionaryArray1 = ;

    NSDictionary *dictionaryArray2 = ;

    NSDictionary *dictionaryArray3 = ;

    NSArray *arrayAnswer = ;

    NSDictionary *dictionary = ;

    NSLog(@&#34;Dictionary that is being sent to URL is = %@&#34;, dictionary);

    NSURL *url = ;
    NSMutableURLRequest *request = [ initWithURL:url];

    NSData *requestData = ;

    ;
    ;
    ;
    ] forHTTPHeaderField:@&#34;Content-Length&#34;];
    ;

    NSURLConnection *connection = [ initWithRequest:request delegate:self];
    ;
    [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
      if(error || !data)
      {
            NSLog(@&#34;JSON Data not posted!&#34;);
            ;
            UIAlertView *alertMessage = [ initWithTitle:@&#34;Error&#34; message:@&#34;Data not saved&#34; delegate:self cancelButtonTitle:@&#34;OK&#34; otherButtonTitles:nil];
            ;
      }
      else
      {
            ;
            NSLog(@&#34;JSON data posted! :)&#34;);
            NSError *error = Nil;
            NSJSONSerialization *jsonObject = ;

            NSLog(@&#34;Response is %@&#34;, jsonObject);
            ;
      }

    }];
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>这就是我解决自己问题的方法。</p>

<pre><code> NSString *str = @&#34;{\&#34;ProjID\&#34;: \&#34;78\&#34;,\&#34;Uid\&#34;: \&#34;12\&#34;,\&#34;EmailID\&#34;: \&#34;[email protected]\&#34;,&#34;;
    str = ;
    str = ;
    str = ;
    str = ;
    str = }&#34;];
    NSLog(@&#34;String is === %@&#34;, str);

NSURL *url = ;
    NSMutableURLRequest *request = [ initWithURL:url];

NSData *requestData = ;

;
    ;
    ;
    ] forHTTPHeaderField:@&#34;Content-Length&#34;];
    ;
    NSURLConnection *connection = [ initWithRequest:request delegate:self];
    ;
    [NSURLConnection sendAsynchronousRequest:request queue:queue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error){
      if(error || !data)
      {
            NSLog(@&#34;JSON Data not posted!&#34;);
            ;
            UIAlertView *alertMessage = [ initWithTitle:@&#34;Error&#34; message:@&#34;Data not saved&#34; delegate:self cancelButtonTitle:@&#34;OK&#34; otherButtonTitles:nil];
            ;
      }
      else
      {
            ;
            NSLog(@&#34;JSON data posted! :)&#34;);
            NSError *error = Nil;
            NSJSONSerialization *jsonObject = ;
            NSLog(@&#34;Response is %@&#34;, jsonObject);
      }
    }];
</code></pre></p>
                                   
                                                <p style="font-size: 20px;">关于iOS : Message =&#34;An error has occurred.&#34; in JSON POST,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/19804440/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/19804440/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS : Message = &#34;An error has occurred.&#34; in JSON POST