我一直在写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后端来说也非常适合我。 –