ios - 我如何将json字符串发布到服务器
<p><p>这是我必须发布的 json 字符串... </p>
<pre><code>{
"data": {
"description": "",
"current_value": "",
"serialno": "",
"condition": "",
"category": "category",
"purchase_value": "",
"new_or_used": "",
"gift_or_purchase": "",
"image": ""
},
"subtype": "fd3102d8-bc19-424b-bca2-774a8fd7ea6f"
}
</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 = @{
@"heights":@"4_5_7",
@"score":@"4",
@"title":@"Some Title",
@"textBody":@"Some Long Text",
@"happy":@"y"
}.mutableCopy;
NSError *serr;
NSData *jsonData = [NSJSONSerialization
dataWithJSONObject:dict options:NSJSONWritingPrettyPrinted error:&serr];
if (serr)
{
NSLog(@"Error generating json data for send dictionary...");
NSLog(@"Error (%@), error: %@", dict, serr);
return;
}
NSLog(@"Successfully generated JSON for send dictionary");
NSLog(@"now sending this dictionary...\n%@\n\n\n", dict);
</code></pre>
<p>接下来,正确地将命令和 json 异步发送到您的服务器...</p>
<pre><code>#define appService [NSURL \
URLWithString:@"http://www.corp.com/apps/function/user/pass/id/etc"]
// Create request object
NSMutableURLRequest *request = ;
// Set method, body & content-type
request.HTTPMethod = @"POST";
request.HTTPBody = jsonData;
;
;
[request setValue:
[NSString stringWithFormat:@"%lu",
(unsigned long)] forHTTPHeaderField:@"Content-Length"];
// 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(@"No data returned from server, error ocurred: %@", error);
NSString *userErrorText = [NSString stringWithFormat:
@"Error communicating with server: %@", error.localizedDescription]
return;
}
NSLog(@"got the NSData fine. here it is...\n%@\n", data);
NSLog(@"next step, deserialising");
NSError *deserr;
NSDictionary *responseDict = [NSJSONSerialization
JSONObjectWithData:data
options:kNilOptions
error:&deserr];
NSLog(@"so, here's the responseDict\n\n\n%@\n\n\n", responseDict);
// LOOK at that output on your console to learn how to parse it.
// to get individual values example blah = responseDict[@"fieldName"];
}];
}
</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]