我一直在寫swift/php/sql 3個月了...(我知道我是一個新手)。我可以創建簡單的POST字符串併發出http請求...等。
現在我試圖將多個對象推送到我的服務器以添加到我的數據庫。所以我認爲傳輸對象的最佳方式是使用一個大的json字符串。也許不...... idk。我一直沒有成功創建多個對象json字符串來發布。理想情況下,我想要一個PHP json_decode($ myJsonString)將直接解碼的字符串......我創建了一個用作測試用例的操場。對JSON(myPlaceArray)的調用導致「未知」。
關於如何解決這個或更簡單的方式歡迎的建議!謝謝!Swift Object Array to JSON - > POST - > PHP json_decode()到PHP Object數組
import UIKit
import SwiftyJSON
class myClass {
public struct Place {
var PlaceId = String()
var name = String()
var address = String()
var latitude = Double()
var longitude = Double()
}
}
var myPlaceArray = [myClass.Place()]
var myPlace = myClass.Place()
for i in 0..<3 {
myPlace.PlaceId = "\(i)"
myPlace.address = "My Address \(i)"
myPlace.name = "My Name \(i)"
myPlace.latitude = 37.123
myPlace.longitude = -127.321
if(i==0){
myPlaceArray[0] = myPlace
}
else {
myPlaceArray.append(myPlace)
}
}
print(myPlaceArray[0])
let json = JSON(myPlaceArray)
print(json) // results: "unknown"
let jsonMyPlaceArray = JSON(myPlaceArray)
print(jsonMyPlaceArray)
//setup json post data
//send HTTP POST
let myUrl = NSURL(string: "https://myUrl.php")
let request = NSMutableURLRequest(url: myUrl! as URL)
request.httpMethod = "POST"
let postString = "jsonPlaces=\(String(describing: jsonMyPlaceArray))"
print(postString) // jsonPlaces=unknown
//.... make request
謝謝沃爾特。我可以設置url請求並處理響應。我遇到的麻煩是將對象數組轉換爲JSON字符串,該字符串可以作爲參數發送到POST調用。理想情況下,我想使用標準的json_decode()php函數直接在我的服務器上解碼JSON字符串。 – Chipcraft
再次感謝Walter。看起來這可能正是我所尋找的。我正在測試它。謝謝! – Chipcraft
不客氣,這對於php後端來說也非常適合我。 –