2017-09-09 5 views
-1

私はこのコードをC#からSwift 3.0に変換しようとしていますが、構文上の問題はありません。コードはhttps://vpic.nhtsa.dot.gov/api/Home/Index/LanguageExamplesからまっすぐですが、Swiftの例はありません。C#JSON POSTをSWIFT 3に変換

ありがとうございました。

string text = "3GNDA13D76S000000;5XYKT3A12CG000000;"; 
string url = @"https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVINValuesBatch/"; 

var nameValues = new Dictionary<string, string>(); 
nameValues.Add("data", text); 
nameValues.Add("format", "json"); 
HttpClient client = new HttpClient(); 
client.BaseAddress = new Uri(url); 

// using FormUrlEncodedContent 
var name = new FormUrlEncodedContent(nameValues); 
client.DefaultRequestHeaders.Accept.Add(new 
MediaTypeWithQualityHeaderValue("application/json")); 
System.Threading.CancellationToken token = new 
System.Threading.CancellationToken(); 

try { 
    var tmp = client.PostAsync(client.BaseAddress, name, token).Result; 
    var result = tmp.Content.ReadAsStringAsync(); 
} catch (Exception err) { 
    // error handling 
} 
+0

Swiftのネットワーク要求に対してAlamofireを使用してみます。 – Martheli

+0

https://stackoverflow.com/search?q=%5Bswift%5D+%5Balamofire%5D+post – nathan

+0

をご覧くださいありがとうございます、私はこのリンクと提供されたリンクについてAlamofireをチェックします。私はまだSwiftには新しく、JSONは私に大きな時間を混乱させます。 – user3534305

答えて

0

私はハードのテストVINにURLをコード化し、これは、私のための助けに感謝を働きました!

let url: String = "https://vpic.nhtsa.dot.gov/api/vehicles/DecodeVIN/WBY2Z2C52GV676091?format=JSON" 


    Alamofire.request(url, parameters: nil, encoding: JSONEncoding.default).responseJSON { 
     (response) in 
     print(response.request as Any) // original URL request 
     print(response.response?.allHeaderFields as Any) // URL response 
     print(response.result.value as Any) // result of response serialization 
    }